local线程隔离对象
Local对象:
在Flask中,类似于request的对象,当绑定到了一个werkzeug.local.local对象时,即使是同一个对象,那么在多个线程中都是隔离的。
Thread Local对象:
只要满足:绑定到这在一个线程对象上的属性,在每个线程中都是隔离的,那么他就叫做Thread-local对象属性
from threading import Thread from werkzeug.local import Local local = Local() local.request = '123' gobal_request='aaa' class MyThread(Thread): def run(self): #注意1 # print('子线程:', local.request) 报错 local.request = 'abc' print('子线程:',local.request) global gobal_request gobal_request='bbb' mythread = MyThread() mythread.start() mythread.join() print('主线程:',local.request) print('主线程:',gobal_request)