Trong Java, chúng tôi có lớp ThreadLocal
:tương đương trên Objective C/Swift của Java ThreadLocal Biến
Lớp này cung cấp các biến thread-địa phương. Các biến này khác với các đối tác bình thường của chúng ở chỗ mỗi luồng truy cập một (thông qua phương thức
get
hoặcset
) có bản sao riêng biệt, được khởi tạo độc lập của biến đó.ThreadLocal
trường hợp thường làprivate static
trường trong các lớp muốn liên kết trạng thái với một chuỗi (ví dụ: ID người dùng hoặc ID giao dịch).
Ví dụ:
private static final ThreadLocal<StringBuilderHelper>
threadLocalStringBuilderHelper = new ThreadLocal<StringBuilderHelper>() {
@Override
protected StringBuilderHelper initialValue() {
return new StringBuilderHelper();
}
};
Có bất kỳ tương đương trong Objective C hoặc Swift để mô phỏng hành vi này? Tôi có thể sử dụng trên Swift:
static let String = someInitialValue()
và đạt được cùng một mục tiêu?
có thể trùng lặp của [lưu trữ Thread-Local và iOS] (http://stackoverflow.com/questions/6557768/thread-local-storage- and-ios) – Cootri
Bạn có chắc chắn muốn tạo chủ đề chứ không phải GCD? http://stackoverflow.com/questions/11962850/is-there-a-queue-dictionary-for-a-gcd- – Darko