Mudanças entre as edições de "Oficina de Concorrência em Python"
Linha 5: | Linha 5: | ||
Aprender a usar objetos '''Future''' da biblioteca padrão do Python ≥ 3.3 para lidar com threads, multiprocessos e programação orientada a eventos. |
Aprender a usar objetos '''Future''' da biblioteca padrão do Python ≥ 3.3 para lidar com threads, multiprocessos e programação orientada a eventos. |
||
− | == Quando, onde, como == |
+ | == Quando, onde, como, quem == |
;Quando: 2-feira, 19/jan/2015, 19:30 |
;Quando: 2-feira, 19/jan/2015, 19:30 |
||
Linha 11: | Linha 11: | ||
;Inscrições: Não é preciso se inscrever, basta aparecer. Esta é mais uma atividade aberta e gratuita do Garoa Hacker Clube. |
;Inscrições: Não é preciso se inscrever, basta aparecer. Esta é mais uma atividade aberta e gratuita do Garoa Hacker Clube. |
||
;Pré-requisitos: Saber programar em Python; se quiser praticar na hora, trazer Python 3.3 instalado |
;Pré-requisitos: Saber programar em Python; se quiser praticar na hora, trazer Python 3.3 instalado |
||
+ | ;Professor: [[Usuário:LucianoRamalho|Luciano Ramalho]] |
||
== Descrição == |
== Descrição == |
Edição das 16h56min de 16 de janeiro de 2015
Objetivo
Aprender a usar objetos Future da biblioteca padrão do Python ≥ 3.3 para lidar com threads, multiprocessos e programação orientada a eventos.
Quando, onde, como, quem
- Quando
- 2-feira, 19/jan/2015, 19:30
- Onde
- Sede do Garoa Hacker Clube
- Inscrições
- Não é preciso se inscrever, basta aparecer. Esta é mais uma atividade aberta e gratuita do Garoa Hacker Clube.
- Pré-requisitos
- Saber programar em Python; se quiser praticar na hora, trazer Python 3.3 instalado
- Professor
- Luciano Ramalho
Descrição
A partir do Python 3.3 o pacote concurrent.futures oferece a classe Future, que representa uma computação pendente, facilitando o tratamento das respostas e condições de erro. A future the Python é semelhante aos conceitos de deferreds e promises encontrados em frameworks orientados a evento em Python, JavaScript e Ruby.
O mesmo módulo concurrent.futures oferece as classes ThreadPoolExecutor e ProcessPoolExecutor que recebem futures e gerenciam sua execução assíncrona usando um conjunto de threads ou processos, respectivamente. No caso de ProcessPoolExecutor, a execução pode se dar em paralelo em um computador com vários núcleos.
No Python 3.4, a biblioteca asyncio traz sua própria asyncio.Future, parecida mas não idêntica a concurrent.futures.Future.
Nesta oficina vamos investigar o que são futures, e como usá-las para fazer operações intensivas em I/O, como Web scraping. Em uma futura oficina trataremos de operações intensivas em CPU, como indexação de textos.