21.12.2022 Views

python_para_desenvolvedores_2ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

148 Threads

Operações de I/O em paralelo.

Em Python, o módulo da biblioteca padrão threading provê classes de alto

nível de abstração e usa o módulo thread, que implementa as rotinas de baixo

nível e geralmente não é usado diretamente.

Exemplo com o módulo threading:

# -*- coding: latin1 -*-

"""

Exemplo de uso de threads

"""

import os

import time

import threading

class Monitor(threading.Thread):

"""

Classe de monitoramento usando threads

"""

def __init__(self, ip):

"""

Construtor da thread

"""

# Atributos para a thread

self.ip = ip

self.status = None

# Inicializador da classe Thread

threading.Thread.__init__(self)

def run(self):

"""

Código que será executado pela thread

"""

# Execute o ping

ping = os.popen('ping -n 1 %s' % self.ip).read()

if 'Esgotado' in ping:

self.status = False

else:

self.status = True

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!