Introdução a Threads e como implementá-las em Python
Explicação introdutória do que são as threads e como implementá-las em Python.
Parte 2: Implementação em Python - Primeiro método
Para implementar as threads vou usar a biblioteca 'threading':
Há dois jeitos de implementá-las, atribuindo uma função a uma thread ou subclasseando o objeto Thread. Vamos ao primeiro método:
- Primeiro vou criar uma função que representará um carrinho, recebendo como argumento um identificador.
- Vou criar agora duas threads, com identificadores 1 e 2 e iniciá-las:
- Observando o output do programa é perfeitamente possível ver a concorrência entre as threads, pois o carrinho 1 anda um pouco, depois o 2 anda um pouco, depois o 1 novamente...
Concluindo:
- Cria-se um objeto thread com 'Thread(target=funcao, args=(arg1, arg2, arg3))'. Obs.: o argumento é uma tupla.
- Inicia-se uma thread com x.start().
from threading import *
Há dois jeitos de implementá-las, atribuindo uma função a uma thread ou subclasseando o objeto Thread. Vamos ao primeiro método:
- Primeiro vou criar uma função que representará um carrinho, recebendo como argumento um identificador.
def Carrinho(identificador):
for c in range(1, 1000000):
print('Carrinho {} andou'.format(identificador))
- Vou criar agora duas threads, com identificadores 1 e 2 e iniciá-las:
def main(): t1 = Thread(target=Carrinho, args=(1,)) t2 = Thread(target=Carrinho, args=(2,)) t1.start() t2.start() if __name__ == '__main__': main()
- Observando o output do programa é perfeitamente possível ver a concorrência entre as threads, pois o carrinho 1 anda um pouco, depois o 2 anda um pouco, depois o 1 novamente...
Concluindo:
- Cria-se um objeto thread com 'Thread(target=funcao, args=(arg1, arg2, arg3))'. Obs.: o argumento é uma tupla.
- Inicia-se uma thread com x.start().