线程化->;使用和不使用ThreadStart的区别

本文关键字:ThreadStart 区别 gt 线程 | 更新日期: 2023-09-27 18:29:14

  1. 下面有可以想象的优点还是缺点
  2. 我应该喜欢一个而不是另一个吗

要执行的方法。

private void _archiveData()
{
    while(_isActive)
    {
        // Do stuff
    }
}

不使用ThreadStart

System.Threading.Thread _archiveThread = new System.Threading.Thread(_archiveData);
_archiveThread.Start();

使用ThreadStart

System.Threading.ThreadStart _archiveThreadStart = new System.Threading.ThreadStart(_archiveData);
System.Threading.Thread _archiveThread = new System.Threading.Thread(_archiveThreadStart);
_archiveThread.Start();

感谢

线程化->;使用和不使用ThreadStart的区别

差异为零。在第一个示例中,编译器会自动为您创建ThreadStart委托对象。所以它最终就像第二个例子一样。

我更喜欢前者,因为它更简洁。我尽可能使用委托类型推断,这几乎是委托参与的所有时间。