【发布时间】:2013-01-31 22:35:11
【问题描述】:
我想知道为什么 .Net 没有用于启动线程的通用方法。
例如我们像下面这样启动一个线程......
Thread th = new Thread(SayHello);
th.Start("Hello");
private static void SayHello(object obj)
{
string str = obj as string;
Console.WriteLine(str);
}
为什么我们不能拥有我的意思是为什么 .Net 团队不考虑使其通用?
类似跟随...
Thread<string> th = new Thread<string>(SayHello);
因为很多时候当我将值类型传递给线程启动时,我必须进行装箱/拆箱。
【问题讨论】:
-
您可以轻松地自己添加这样的包装类。 (另外,这个特定的例子不是装箱/拆箱,只是参考向下转换。)
-
出于兴趣,与启动新线程或线程间上下文切换的成本相比,您认为装箱/拆箱对性能的影响有多大?
标签: c# multithreading