在網絡上,如何實現一個消防和遺忘模式有非常不同的意見。C#ThreadPool或BeginInvoke無EndInvoke
有人說,如果必須實現一個即燃即用模式,調用BeginInvoke而不調用EndInvoke是沒有問題的。
其他人說最好創建一個單獨的ThreadPool對象。我關心的是ThreadPool初始化成本。具體而言,要調用的方法只會將一個對象添加到隊列中,然後返回。
爲此,在池上創建一個線程還是簡單地同步調用該方法是「更快」?我想知道一個粗略的工作門檻,比在池中創建線程更昂貴。
是否有什麼異常捕獲的游泳池和其他restcritions與它有這方面的文獻和?
如果你「簡單地同時調用方法」,你將不會做「即忘即忘」。所以我相信你的選擇是ThreadPool,自己創建Thread(var t = new Thread())或者TPL。 – rtalbot
是的,但主要問題是哪種方法更快。我想我可以簡單地寫一個測量結果並平均比較結果。可能會發現synchron調用速度更快,因爲調用靜態threadpool方法時返回速度會更快。 – Juergen