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.

[ Hits: 13.755 ]

Por: Perfil removido em 30/10/2018


Implementação em Python - Primeiro método



Para implementar as threads vou usar a biblioteca 'threading':

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().

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Implementação em Python - Primeiro método
   3. Implementação em Python - Segundo método
   4. Coordenando threads concorrentes
Outros artigos deste autor

Bootsplash no Slackware - HowTo

PuTTY - Release 0.66 - Parte IV

Swing e gerenciadores de layout

TimeShift - Restaure seu Linux com eficiência

Como imprimir diretamente na porta de impressão

Leitura recomendada

Scikit Learn: Projetando o futuro de suas APIs e aplicativos usando machine learning

Port Scanner com Python

Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)

Python - Threads

Clicador automático de Tinder com Python

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts