如果線程正在通過退出使用塊而釋放的對象中運行方法,會發生什麼情況?
實施例:C#退出使用()塊,其線程仍在作用域對象上運行
using (SomeObject obj = new SomeObject()) { obj.param = 10 ; Thread newThread = new Thread(() => { obj.Work(); }); newThread.Start(); } ...
obj.Work()是在一個新的線程運行,但OBJ是使用塊退出時,通常會得到釋放一個IDisposable的對象。如果線程在using塊結束後繼續運行會發生什麼?只有在線程完成後才能處理對象?或者線程會中斷嗎?
謝謝。
而不是在線程外部使用using語句,把它放在線程中。 螺紋newThread =新主題(()=> { 使用(SomeObject OBJ =新SomeObject()){ obj.param = 10; obj.Work();} }); newThread.Start(); – Relster 2009-06-23 14:11:06