码迷,mamicode.com
首页 > 编程语言 > 详细

初遇多线程

时间:2014-12-03 16:53:42      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:io   ar   使用   sp   on   art   bs   ad   new   

初次接触多线程是想做一个进度条,然后让界面有一个防假死的效果。了解的不深,先浅显的记录一下:

private Thread fThread ; //定义一个进程

//开始进程
private void btdoit_Click(object sender, EventArgs e)
{
   fThread = new Thread(new ThreadStart(addinfo));//指定进程执行的函数为addinfo;
   fThread.Start();
}

private void addinfo()//这就是进程执行的函数了,不多记

{

    。。。。。

}

 

使用多线程时遇到的状况:

1、跨线程调用控件

    在调用控件前加上这个,如这里要调用ListView控件:

if (this.listViewfw.InvokeRequired)
{
   addinfoCallback acb = new addinfoCallback(addinfo);
   this.listViewfw.Invoke(acb, new object[] { });

}
else
{

     //要执行的操作

}

2、执行一个大的循环时,进度条值可以改变,lable的值却不能实时更改(这个应该与多线程无关,只是遇到了就顺带记录一下)

     在改变Lable或其它控件值前加上这句:

       Application.DoEvents();//这句我查了一下,说是会造成系统短暂的停顿,影响速度,需要慎用。

初遇多线程

标签:io   ar   使用   sp   on   art   bs   ad   new   

原文地址:http://www.cnblogs.com/pengdage110/p/4140421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!