TLShtml
先说TLS( Thread Local Storage), wiki上是这么解释的:python
Thread-local storage (TLS) is a computer programming method that uses static or global memory local to a thread.编程
线程本地存储(TLS)是一种电脑编程技术, 它用静态或者全局的存储器来保存线程本地的变量(意译)。spa
其目的是为了实现变量隔离,即“同一个”全局变量,对于不一样的线程,其值能够不一样(相似副本的概念)。参考如下python的实现及说明。线程
python thread localhtm
import threading global_storage=threading.local()
副本做用blog
# -*- coding:utf-8 -*- import threading global_storage = threading.local() import time def test_local(): time.sleep(1) if hasattr(global_storage,'x'): global_storage.x+=1 else: global_storage.x=0 print global_storage.x if __name__=='__main__': for i in range(3): threading.Thread(target=test_local).start()
以上代码将会输出3个0(x有三个副本)ip
而不是0,1,2(x并不是惟一的单例)utf-8
固然,对于单线程来说,thread local 就弱化为了一个全局变量池。get
转载请注明本文来自:http://www.cnblogs.com/Tommy-Yu/p/5459291.html,谢谢!