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(); })); |
相关文章推荐
- C# multithread,threadpool,ParameterizedThreadStart,传递参数给线程以及回调
- C# 多线程学习系列三:线程优先级、线程同步以及向线程传递参数
- C# 实现向线程传递参数
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
- C#通过线程实现回调方法
- C# 启动子线程实现回调
- [c#]Webservice中如何实现方法重载(overload)以及如何传送不能序列化的对象作参数
- C# 代码实现 shp图层导入到 sde(arcgis连接的oracle),oracle连接参数,以及导入的方法
- [c#]Webservice中如何实现方法重载(overload)以及如何传送不能序列化的对象作参数
- C#实现线程调用带参数的方法
- * java 中的数组 对象数组 以及main方法中的参数 x y不用中间参数实现交换
- 每日总结(二)C#判断输入内容为数字、Sharepoint回收应用程序池错误、Asp.Net 会发或回调参数无效、DropDownList动态绑定且设置默认选择项
- c# 多线程传递参数以及任务
- 如何在android的jni线程中实现回调
- 【C#.NET】ASP.NET中实现页面间的参数传递 QueryString\Application\Session\Cookie
- C# 多线程学习(四)带参数的线程启动
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- C#利用Emit反射实现AOP,以及平台化框架封装思路
- c#线程间传递参数
- Java实现线程的方法 以及三种线程的区别