5.4 梳理串接flask的一些名词
1.线程隔离对象和被线程隔离的对象
线程隔离对象:Local,LocalStack这些,通过他们创建被线程隔离的对象
被线程隔离的对象:RequestContext,AppContext
2.current_app是被线程隔离的对象吗
不是。 current_app是_app_ctx_stack的栈顶元素的app对象。他是全局唯一的,所以他不是线程隔离的对象,把他做成线程隔离的也没有意义,因为在字典中不同的线程id号指向的仍然是同一个对象。
3.关键词梳理
以线程ID号作为key的字典->Local->LocalStack
AppContext,RequestContext -> LocalStack
Flask->AppContext,Request->RequestContext
current_app(LocalStack.top=AppContext,top.app=Flask)
request(LocalStack.top=RequestContext,top.request=Request)
Last updated