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

时间:2014-11-05 04:35:33

标签: c# multithreading

  1. 下面是否存在可以想象的优势或劣势?
  2. 我应该更喜欢一个吗?
  3. 执行方法。

    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();
    

    由于

1 个答案:

答案 0 :(得分:2)

没有区别。在第一个示例中,编译器会自动为您创建ThreadStart委托对象。所以它就像第二个例子一样。

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