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: 14.074 ]

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

Qual distribuibuição GNU/Linux devo utilizar?

Ingressando estações de trabalho Ubuntu no AD com Closed In Directory

Instalação do Squid com autenticação NTLM e Kerberos

ArchLinux, uma distro de expressão aqui no VOL

Criando uma aplicação que mostra os processos em execução

Leitura recomendada

Python - Uma linguagem orientada a objetos

Gerar senhas seguras com Python

Monitorando produtos no ML com Python 3 via BeautifulSoup

Python - Enviando Backup para Servidor Secundário

Desenvolvendo aplicações GUI simples em Python & Glade (PyGTK) com banco de dados SQLite

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário