backgroundworker線程是否被重新使用?線程本地存儲在backgroundworker調用之間是否持久?
具體來說,如果我在背景工作者的DoWork()方法期間設置了一個命名的數據槽(線程本地存儲),那麼該數據槽的值將持續存在,有可能在稍後的時間被其他線程找到?
我不會這樣想,但我有這個錯誤......
編輯:This blog post表明BackGroundWorker利用ThreadPool,這意味着線程是重新使用。所以問題就變成了;重用線程可能會在調用之間持久存儲線程本地存儲?
TLS當線程返回到線程池 「當線程池中重用線程,它不會清除在線程本地存儲或數據不被清除因此,當一個方法檢查線程本地存儲或使用ThreadStaticAttribute屬性標記的字段時,它找到的值可能是早期使用線程池線程時遺留下來的。 `SOURCE:[link](http://msdn.microsoft.com/enus/library/system.threading.threadpool.aspx)` – Taher 2013-02-07 12:22:08