flask LOCAL线程隔离技术

Posted wuheng-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask LOCAL线程隔离技术相关的知识,希望对你有一定的参考价值。

技术分享图片

技术分享图片

from threading import Thread
from werkzeug.local import Local

local = Local()#实例化一个线程隔离对象

request = 123


class MyThread(Thread):
    def run(self):
        global request
        request = abc
        print(子线程,request)

mythread = MyThread()
mythread.start()
mythread.join()

print(主线程,request)#线程之前是共享的,要想线程隔离,就用到flask中的Local


#使用Local线程隔离会怎么样
local.request = 456


class LocalThead(Thread):
    def run(self):
        local.request = def
        print(子线程,local.request)

localthead = LocalThead()
localthead.start()
localthead.join()

print(主线程,local.request)#线程完全隔离了

from threading import local #python 的多线程也有local线程隔离,只要绑定到local的属性,都是线程隔离的

 

以上是关于flask LOCAL线程隔离技术的主要内容,如果未能解决你的问题,请参考以下文章

10.Flask上下文

Flask 上下文管理

flask上下文管理

12. Flask的上下文管理

Flask请求和应用上下文源码分析

Flask请求和应用上下文源码分析