您的位置:首页 > 编程语言 > C#

C# -- 线程 带参数 以及回调实现

2011-06-15 08:21 856 查看
一、带参数的线程

private void threadrun(){/*/.....*/}

Thread thread = new Thread(new ThreadStart(threadrun));
thread.Start();

带参数的线程

如果函数带参数

private void threadrun(String value){/*/.....*/} 那么就需要使用其他方法了

1、ThreadStart starter = delegate { threadrun(yourData); };
   new Thread(starter).Start();

2、生成一个新类来

MyThread myThread= new MyThread(youData);

Thread thread = new Thread(new ThreadStart(myThread.threadrun));
thread.Start();

3、//使用线程
WaitCallback callback = delegate (object state) { threadrun((string)state); };
ThreadPool.QueueUserWorkItem (callback, yourData);

4、Thread t = new Thread (new ParameterizedThreadStart(threadrun));
t.Start (yourData);
static void threadrun(object data)
{
  // ....
}

2、线程的回调 就是回调主线程的函数。。

最常见的方法就是 public interface myListener { void callBack() ;}

然后在主类中继承该结构 并且实现callBack函数 然后用myListener 传递给线程使用

然后在线程中调用callBack()即可

 

delegate void MethodInvoker();

this.Invoke(new MethodInvoker(delegate
            {
                this.updateUI();
            }));

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐