Pular para o conteúdo

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.
Perfil removido removido
Hits: 14.755 Categoria: Python Subcategoria: Outros
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 2: 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().

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Implementação em Python - Primeiro método
   3. Implementação em Python - Segundo método
   4. Coordenando threads concorrentes

FreeRADIUS - Noções básicas - Parte III

Alterando a imagem do xsplash nos Ubuntu-like

Modem HSP 56 MR no Fedora Core 1

cdrecord: gravando CDs de forma simples e prática

Diferentes áreas de trabalho com diferentes wallpapers

Arduino com Bluetooth e pySerial

ISO8583py - Utilizando Python para o tratamento de mensagens ISO8583

Splash Screen para Inkscape

Interagindo com servidores HTTP com Python

Como isolar seus projetos Python com virtualenv (ambiente virtual)

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.