在 Python 中启动线程
Fumbani Banda
2024年2月15日

本教程将介绍在 Python 中创建和启动线程的 threading
模块。
线程定义
线程是一组需要执行的操作。运行线程意味着程序将同时运行两个或更多的东西。一个线程只能在 CPU 的一个内核中运行。线程是关于我们如何处理一个 CPU 内核中的线程。
Python 中的线程实现
Python 使用 threading
模块在程序中实现线程。你可以创建一个 Thread
实例,然后调用它来启动一个单独的线程。
当你创建 Thread
实例时,你将传入一个函数和该函数的参数列表。在这种情况下,你告诉 Thread
运行函数 thread_function()
并将其 1 作为参数传递。
thread_function()
记录一些消息并休眠两秒钟。
# 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")
输出:
10:23:58: Thread 1: starting
10:23:58: Exiting
10:24:00: Thread 1: finishing
线程可视化
该程序的流程如下。一旦你调用 start()
,它就会触发 thread_function()
并在一个单独的线程中运行。主程序也作为另一个线程并行运行。
作者: Fumbani Banda