惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

博客园 - 小兔快跑

利用rank() 和 dense_rank() 来实现分类排名 利用Relations实现多DataTable的聚合 Web应用中实现发送带附件的电子邮件 为什么这样的SQL会锁记录? 在Word里实现禁止复制和选定 [VS2005]解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题” Word转pdf方法小结 原来数据库编程也可以这么美好! ASP.NET生成WORD文档服务器部署注意事项 ASP.NET:页面保存为WORD出现的问题! 动态绑定图片url:数据绑定出现的问题 .NET对Excel的读写 .NET中的CString知识点 水滴石穿之页面遮罩层实现、向window.open()打开的窗口POST数据 动态加载和使用类型 WinForm 控件的事件委托剖析 如何:使用反射将委托挂钩 SVG常见问题汇总 水滴石穿之子页面的滚动条设置 表格的固定高度宽度问题 复制带格式的文本
实现线程中的参数传递
小兔快跑 · 2009-06-18 · via 博客园 - 小兔快跑

在 .NET Framework 2.0 版中,ParameterizedThreadStart 委托提供了一种简便方法,可以在调用 System.Threading.Thread.Start(System.Object) 方法重载时将包含数据的对象传递给线程。
使用 ParameterizedThreadStart 委托不是传递数据的类型安全的方法,因为 System.Threading.Thread.Start(System.Object) 方法重载接受任何对象。一种替代方法是将线程过程和数据封装在帮助器类中,并使用 ThreadStart 委托执行线程过程。

在简单情况下传递参数给线程有两种方法,一种是使用ParameterizedThreadStart 直接传递Object类型的参数。这种传递时非线程安全的。另一种方法是使用间接传递,我们可以把把数据和线程过程封装到帮助器类中或者直接在另一个不带参数的函数中调用线程过程并传递所需的参数。

使用ParameterizedThreadStart 的示例如下:

Code

使用函数传递参数:

Code

至于通过初始化类实现参数传递,就比较简单了,大家自己测试一下吧