Iniciar um tópico em Python

Fumbani Banda 15 fevereiro 2024
  1. Definição de Tópico
  2. Implementação de Thread em Python
  3. Visualização de segmentação
Iniciar um tópico em Python

Este tutorial irá apresentar o módulo threading para criar e iniciar um thread em Python.

Definição de Tópico

Um thread é um conjunto de operações que precisam ser executadas. A execução de threads significa que o programa terá duas ou mais coisas em execução ao mesmo tempo. Um thread só pode ser executado em um núcleo da CPU. Threading é sobre como lidamos com os threads em um núcleo da CPU.

Implementação de Thread em Python

Python usa o módulo threading para implementar threads em programas. Você pode criar uma instância Thread e então chamá-la para iniciar um thread separado.

Ao criar uma instância Thread, você passa uma função e uma lista de argumentos para essa função. Neste caso, você está dizendo ao Thread para executar a função thread_function() e passar 1 como um argumento.

O thread_function() registra algumas mensagens e dorme por dois segundos.

# python 3.x
from threading import Thread
import time
import logging


def thread_function(name):
    logging.info("Thread %s: starting", name)
    time.sleep(2)
    logging.info("Thread %s: finishing", name)


if __name__ == "__main__":
    format = "%(asctime)s: %(message)s"
    logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S")
    thread = Thread(target=thread_function, args=(1,))
    thread.start()
    logging.info("Exiting")

Resultado:

10:23:58: Thread 1: starting
10:23:58: Exiting
10:24:00: Thread 1: finishing

Visualização de segmentação

O fluxo do programa é apresentado a seguir. Depois de chamar start(), ele dispara thread_function() e é executado em uma thread separada. O programa principal também é executado em paralelo como outro thread.

iniciar discussão em python

Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub