Thread-local storage

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thread-local storage相关的知识,希望对你有一定的参考价值。

Thread-local storage (TLS) is a computer programming method that uses static or global memory local to a thread.

 

C and C++[edit]

In C11, the keyword _Thread_local is used to define thread-local variables. The header <threads.h>, if supported, defines thread_local as a synonym for that keyword. Example usage:

#include <threads.h>
thread_local int foo = 0;



Objective-C[edit]

In CocoaGNUstep, and OpenStep, each NSThread object has a thread-local dictionary that can be accessed through the thread‘s threadDictionary method.

NSMutableDictionary *dict = [[NSThread currentThread] threadDictionary];
dict[@"A key"] = @"Some data";

https://en.wikipedia.org/wiki/Thread-local_storage

 

Configuring Thread-Local Storage

Each thread maintains a dictionary of key-value pairs that can be accessed from anywhere in the thread. You can use this dictionary to store information that you want to persist throughout the execution of your thread. For example, you could use it to store state information that you want to persist through multiple iterations of your thread’s run loop. 

Cocoa and POSIX store the thread dictionary in different ways, so you cannot mix and match calls to the two technologies. As long as you stick with one technology inside your thread code, however, the end results should be similar. In Cocoa, you use the threadDictionary method of an NSThread object to retrieve an NSMutableDictionary object, to which you can add any keys required by your thread. In POSIX, you use the pthread_setspecific and pthread_getspecific functions to set and get the keys and values of your thread. 

 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Multithreading/CreatingThreads/CreatingThreads.html

以上是关于Thread-local storage的主要内容,如果未能解决你的问题,请参考以下文章

The __thread storage class specifier

如何在tomcat提供的线程中设置Thread-local?

将位图从片段保存到内部/外部存储[关闭]

Firebase Storage StorageTask Class 参数化类“StorageTask”的原始使用

GraphX 实现K-Core

智能合约实战 solidity 语法学习 06 [ memory storage ] 附代码