5
在Java中的斯威夫特,我們有ThreadLocal
類:在客觀等價的C/Java的ThreadLocal的變量
該類提供了線程局部變量。這些變量與其正常對應的不同之處在於,每個訪問一個線程的線程(通過其
get
或set
方法)都有其自己的,獨立初始化的變量副本。ThreadLocal
實例通常是private static
中希望將狀態與線程關聯的類(例如,用戶ID或事務ID)的字段。
例子:
private static final ThreadLocal<StringBuilderHelper>
threadLocalStringBuilderHelper = new ThreadLocal<StringBuilderHelper>() {
@Override
protected StringBuilderHelper initialValue() {
return new StringBuilderHelper();
}
};
是否有目標C或斯威夫特任何等效模擬這種行爲?我可以在斯威夫特上使用:
static let String = someInitialValue()
並達到相同的目標嗎?
的[線程本地存儲和iOS](可能的複製http://stackoverflow.com/questions/6557768/thread-local-storage-和-ios) – Cootri
你確定你想要線程而不是GCD嗎? http://stackoverflow.com/questions/11962850/is-there-a-queue-dictionary-for-a-gcd- – Darko