C#3.0核心技术-第19章线程-全新翻译注释-19.2(2)

来源:互联网 发布:数据库测试用例怎么写 编辑:程序博客网 时间:2024/04/30 11:54

19.2.1 传送数据给线程

比方说我们想要传送一个参数给线程开始的方法。这里是它如何被做的:

clip_image001

为使这成为可能,线程的构造方法被重载以接受下列两个委托:

clip_image002

ParameterizedThreadStart的限制是它仅能接受一个参数。因为它的类型是object,它通常需要被转换。一个替代是以如下方式结合使用无参的ThreadStart与一个匿名方法:

clip_image003

优点是目标方法(在这个例子中是Print)能够接受任意数量的参数,所以(译者注:类型)转换就没必要了。在另一方面,你必须在你的意识中保持外部变量的语义,就像下面例子所演示的:

clip_image004

原创粉丝点击