【发布时间】:2012-12-14 00:46:50
【问题描述】:
我看到以下声明:
ThreadStart myThreadDelegate = new ThreadStart(Work.DoWork);
Thread myThread = new Thread(myThreadDelegate);
myThread.Start();
可以简化成下面这样吗?
Thread myThread = new Thread(new ThreadStart(Work.DoWork));
myThread.Start();
如果是,第二种方法叫什么?每种方法的优缺点是什么?
【问题讨论】:
-
你怎么称呼这种较新的声明方法? =/
-
您在两者中都在做同样的事情。它被称为 Instatiating 一个线程对象。在第一个示例中,您声明变量并为它们分配新对象。然后,您将这些传递给线程。您在第二个示例中执行完全相同的操作,而无需在变量中声明它们。唯一真正需要声明变量的是,如果您需要访问调用它的方法之外的线程。
-
'优化后重构代码'? '那整洁的单线'?
标签: c# multithreading delegates declaration