2014-11-05 47 views
0
  1. 在下面有沒有可以想象的優勢或劣勢?
  2. 我應該比其他人更喜歡嗎?

要執行的方法。線程 - >使用和不使用ThreadStart的差異

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

使用ThreadStart

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

感謝

回答

2

有零差價不使用ThreadStart

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

。在第一個示例中,編譯器會自動爲您創建代理對象ThreadStart。所以它就像第二個例子一樣。

我更喜歡前者,因爲它更簡潔。我儘可能使用委託類型推斷,這幾乎是代表參與的所有時間。

+0

謝謝。這是一個簡短而好的解釋。乾杯! – junPac 2014-11-05 04:58:14