You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: online/cap07.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -357,7 +357,7 @@ Quando chamados, devolvem um gerador assíncrono para ser usado com `async for`.
357
357
Funções geradoras, funções de corrotinas nativas e funções geradoras assíncronas são diferentes de outros invocáveis: os valores devolvidos por tais funções nunca são dados da aplicação, mas objetos que exigem processamento adicional, seja para produzir dados da aplicação, seja para realizar algum trabalho útil.
358
358
Funções geradoras devolvem iteradores.
359
359
Ambos são tratados no <<ch_generators>>.
360
-
Funções de corrotinas nativas e funções geradoras assíncronas devolvem objetos que só funcionam com a ajuda de um framework de programação assíncrona, tal como _asyncio_.
360
+
Funções de corrotinas nativas e funções geradoras assíncronas devolvem objetos que só funcionam com a ajuda de um framework de programação assíncrona, tal como `asyncio`.
Copy file name to clipboardExpand all lines: online/cap17.adoc
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2211,7 +2211,7 @@ diferenciá-las das novas "corrotinas nativas".
2211
2211
Após o lançamento de Python 3.5, a tendência é usar "corrotina" como sinônimo de
2212
2212
"corrotina nativa". Mas a PEP 342 não está descontinuada, e as corrotinas
2213
2213
clássicas ainda funcionam como originalmente projetadas, apesar de não serem
2214
-
mais suportadas pela biblioteca _asyncio_.
2214
+
mais suportadas pela biblioteca `asyncio`.
2215
2215
2216
2216
====
2217
2217
@@ -2568,8 +2568,8 @@ Aquele texto inclui pseudo-código similar ao Python detalhando como `yield from
2568
2568
====
2569
2569
2570
2570
Na prática, qualquer trabalho produtivo com corrotinas exige o apoio de um framework especializado.
2571
-
É isso que _asyncio_ oferecia para corrotinas clássicas lá atrás, no Python 3.3.
2572
-
Com o advento das corrotinas nativas no Python 3.5, os mantenedores de Python estão gradualmente eliminando o suporte a corrotinas clássicas no _asyncio_.
2571
+
É isso que `asyncio` oferecia para corrotinas clássicas lá atrás, no Python 3.3.
2572
+
Com o advento das corrotinas nativas no Python 3.5, os mantenedores de Python estão gradualmente eliminando o suporte a corrotinas clássicas no `asyncio`.
2573
2573
Mas os mecanismos subjacentes são muito similares.
2574
2574
A sintaxe `async def` torna as corrotinas nativas mais visíveis no código,
Copy file name to clipboardExpand all lines: online/cap19.adoc
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ usando Python como sua linguagem primária—apesar das persistentes alegações
54
54
=== Novidades neste capítulo
55
55
56
56
Este((("concurrency models", "significant changes to"))) capítulo é novo, escrito para a segunda edição do _Python Fluente_.
57
-
Os exemplos com os caracteres giratórios na <<concurrent_hello_world>> antes estavam no capítulo sobre _asyncio_.
57
+
Os exemplos com os caracteres giratórios na <<concurrent_hello_world>> antes estavam no capítulo sobre `asyncio`.
58
58
Aqui eles foram revisados, e apresentam uma primeira ilustração das três abordagens de Python à concorrência: threads, processos e corrotinas nativas.
59
59
60
60
O resto do conteúdo é novo, exceto por alguns parágrafos, que apareciam originalmente nos capítulos sobre `concurrent.futures` e `asyncio`.
@@ -170,7 +170,7 @@ Corrotina::
170
170
Em Python, corrotinas clássicas são criadas a partir de funções geradoras, e corrotinas nativas são definidas com `async def`.
171
171
A <<classic_coroutines_sec>> introduziu o conceito, e o <<ch_async>> trata do uso de corrotinas nativas.
172
172
As corrotinas de Python normalmente rodam dentro de uma única thread, sob a supervisão de um laço de eventos (_event loop_), também na mesma thread.
173
-
Frameworks de programação assíncrona como _asyncio_, _Curio_, ou _Trio_ fornecem um laço de eventos e bibliotecas de apoio para E/S não-bloqueante baseado em corrotinas.
173
+
Frameworks de programação assíncrona como `asyncio`, _Curio_, ou _Trio_ fornecem um laço de eventos e bibliotecas de apoio para E/S não-bloqueante baseado em corrotinas.
174
174
Corrotinas permitem _multitarefa cooperativa_:
175
175
cada corrotina deve ceder explicitamente o controle com as palavras-chave `yield` ou `await`, para que outra possa continuar de forma concorrente (mas não em paralelo).
176
176
Isso significa que qualquer código bloqueante em uma corrotina bloqueia a execução do laço de eventos e de todas as outras corrotinas—ao contrário da _multitarefa preemptiva_ suportada por processos e threads.
@@ -530,7 +530,7 @@ O pacote suporta multitarefa cooperativa através de corrotinas leves—chamadas
530
530
e assim são mais fáceis de integrar a bases de código sequencial existentes.
531
531
O https://fpy.li/19-15[SQL Alchemy 1.4 ORM] usa greenlets
532
532
internamente para implementar sua nova
533
-
https://fpy.li/19-16[API assíncrona] compatível com _asyncio_.
533
+
https://fpy.li/19-16[API assíncrona] compatível com `asyncio`.
534
534
535
535
A((("gevent library"))) biblioteca de programação de redes
536
536
https://fpy.li/19-17[_gevent_] modifica, através de _monkey patches_, o módulo `socket` padrão de Python, tornando-o não-bloqueante, substituindo parte do código daquele módulo por greenlets.
@@ -595,7 +595,7 @@ ele já está agendado para rodar, mas uma instância de `Thread` precisa ser in
595
595
Objetos `Task` oferecem o método `.cancel()`, que levantará um `CancelledError` na expressão `await` onde a corrotina está suspensa naquele momento.
596
596
* A corrotina `supervisor` é acionada com `asyncio.run` na função `main`.
597
597
598
-
Essa comparação ajuda a entender como a concorrência é orquestrada com _asyncio_,
598
+
Essa comparação ajuda a entender como a concorrência é orquestrada com `asyncio`,
599
599
em contraste com como isso é feito com o módulo `threading`, que pode ser mais familiar
600
600
para quem já usou threads em qualquer linguagem.
601
601
@@ -1035,7 +1035,7 @@ stack, disparando efeitos colaterais custosos, como invalidar os caches da CPU e
1035
1035
talvez até trocar páginas de memória. footnote:[Para saber mais, consulte
1036
1036
https://fpy.li/ad["Troca de contexto"] na Wikipedia.]
1037
1037
1038
-
Os dois próximos capítulos tratam de mais temas ligados à programação concorrente em Python, usando a biblioteca de alto nível _concurrent.futures_ para gerenciar threads e processos (<<ch_executors>>) e a biblioteca _asyncio_ para programação assíncrona (<<ch_async>>).
1038
+
Os dois próximos capítulos tratam de mais temas ligados à programação concorrente em Python, usando a biblioteca de alto nível _concurrent.futures_ para gerenciar threads e processos (<<ch_executors>>) e a biblioteca `asyncio` para programação assíncrona (<<ch_async>>).
1039
1039
1040
1040
As((("", startref="CMprocess19"))) demais seções nesse capítulo procuram responder à questão:
0 commit comments