Python多线程是利用CPU的多核心来并行处理多个任务,提高程序运行效率的一种方式。在Python中,可以使用threading
模块来创建多线程并执行任务。
要创建一个多线程,需要进行以下几个步骤:
- 导入
threading
模块
import threading
- 定义函数
多线程是并行执行任务,因此需要定义一个函数来执行具体的任务。此函数需要作为参数传递给创建线程的函数。
def run_task():
print("This is a thread.")
以上代码中,定义了一个名为run_task
的函数,函数体中包含一条简单的输出语句,用来模拟实际的任务。
- 创建线程
可以使用threading.Thread()
函数创建线程。在创建线程时,需要将run_task
函数作为参数传递给target
参数,表示该线程需要执行的任务。
t = threading.Thread(target=run_task)
以上代码中,创建了一个名为t
的线程,将run_task
函数作为参数传递给target
参数指定线程需要执行的任务。
- 启动线程
在创建完线程后,可以使用t.start()
函数启动线程,开始执行任务。
t.start()
以上代码中,使用t.start()
函数启动t
线程,开始执行run_task
函数中定义的任务。
- 等待线程执行完毕
线程在执行完毕后会自动退出,但是如果需要等待线程执行完成后再继续执行主线程的任务,可以使用t.join()
函数。
t.join()
print("Main thread continues.")
以上代码中,使用t.join()
函数等待线程t
执行完毕后再打印Main thread continues
。
代码示例1:
import threading
def run_task():
print("This is a thread.")
t = threading.Thread(target=run_task)
t.start()
t.join()
print("Main thread continues.")
输出:
This is a thread.
Main thread continues.
代码示例2:
import threading
def run_task(num):
print("This is thread %d." % num)
for i in range(5):
t = threading.Thread(target=run_task, args=(i,))
t.start()
输出:
This is thread 0.
This is thread 1.
This is thread 2.
This is thread 3.
This is thread 4.
以上代码中,定义了一个能接收参数的run_task
函数,并循环创建5个线程并通过args
参数将参数传递给run_task
函数。每个线程在执行时输出不同的结果。