Locais de contexto e segurança de threads
Entenda como os proxies permanecem corretos entre solicitações.
Locais de contexto e segurança de threads é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
The Magic Question
How does one global request object stay correct when many visitors hit your app at once? The answer is context locals.
They Look Global
Objects like request and g look like plain globals you import once. But they are special proxies, not ordinary shared variables.
from flask import requestProxies Point Per Context
A proxy forwards every access to the real object for the current context. Each request sees its own data through the same import.
Context Locals
Flask calls these context locals. They behave like thread locals but key off the active context, so concurrent requests never collide.
Thread Safety
Two threads handling two requests each get their own bound context. So request in one thread never shows another thread's data.
Beyond Threads
Modern Flask uses contextvars, so isolation holds even for greenlets and async tasks, not just operating system threads.
One Import, Many Values
This is why a single import at the top of your file is safe. The proxy resolves to a different real object for every request.
Watch the Background
Spawn a raw thread from a view and it has no context. Accessing request there fails unless you push a context yourself.
Pass Values, Not Proxies
Hand a background worker the actual value it needs, like a user id, instead of the request proxy, which will be gone by then.
uid = request.args.get("id")
start_job(uid)Get the Real Object
Need the underlying object behind a proxy? Use _get_current_object, but reach for it rarely and only when you truly must.
real = request._get_current_object()Why It Feels Easy
Context locals are why Flask feels simple: you import request once and trust it, while the framework quietly keeps every request isolated.
Quick Check
Let us confirm how proxies stay safe.
Recap
Flask's globals are really context-local proxies. They resolve per request, keeping threads and async tasks isolated, so one import stays safe everywhere. 🎉
Perguntas Frequentes
A aula “Locais de contexto e segurança de threads” é grátis?
Sim — o texto completo de “Locais de contexto e segurança de threads” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.
O que vou aprender em “Locais de contexto e segurança de threads”?
Entenda como os proxies permanecem corretos entre solicitações. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Flask Academy?
Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Locais de contexto e segurança de threads”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Flask Academy?
Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Contexto do aplicativo versus contexto da solicitação
- current_app e o objeto g
- Locais de contexto e segurança de threads
- Empilhe um contexto em scripts e shells