是否有一個很好的,與平臺無關的方法來實現對線程和類實例都是本地的變量,即如果您有T線程和I類實例,您有該變量的TxI實例?我正在使用D編程語言,版本2,但一個好的語言不可知的答案也是有用的。線程本地,類實例本地存儲?
這裏有一些約束:
- 必須不要求同步。這就排除了將一個散列表映射到變量引用的線程ID作爲一個成員變量。
- 不得保留引用,應該垃圾收集。這排除了具有由類實例索引的線程本地靜態哈希表。
- 初始化應該是懶惰的效率。如果線程從不訪問給定實例的變量,那麼它永遠不會被創建。
是否有一個很好的,與平臺無關的方法來實現對線程和類實例都是本地的變量,即如果您有T線程和I類實例,您有該變量的TxI實例?我正在使用D編程語言,版本2,但一個好的語言不可知的答案也是有用的。線程本地,類實例本地存儲?
這裏有一些約束:
不是D2有隱含的線程本地存儲? D1有__thread加Tango/druntime的TLS實現IIRC。 – 2010-01-14 01:12:41
D2有隱式線程局部變量,但僅用於全局變量和靜態變量。 – dsimcha 2010-01-14 01:15:28
druntime TLS如何?可以動態分配嗎? – 2010-01-14 05:49:02