多线程的使用方法:
- Thread t = new Thread(new ThreadStart (StartMethod));
- t.Start();
-
- private void StartMethod()
- {
- Thread.Sleep(5000);
- MessageBox.Show("c");
- }
复制代码
多线程的功能和异步调用一样,都是为了不等调用的函数运行完,就继续剩下的语句。
ParameterizedThreadStart是面向带参数的方法,参数的类型是object。
StartMethod()是不带参数的方法。
StartMethod(object i)就是带参数的方法
只要在主程序的最后加上 t.Join();就可以了。
为什么要使用this.invoke呢,感觉它跟直接调用函数没什么差别,但是如果要在支线程的函数中给控件赋值,代码就会报错,这个时候this.invoke,this.begininvoke都就可以拿来用了。
- public void DoWork()
- {
- MyInvoke mi = new MyInvoke(Updatetxt);
- this.BeginInvoke(mi, new Object[] {"我是文本框"});
- }
- public void Updatetxt(string param)
- {
- textBox1.Text = param;
- }
复制代码
|
|