Python的多线程模块是threading
,它允许在同一进程中创建多个线程并发执行任务。下面是多线程的用法和参数说明:
1. 创建线程
使用threading.Thread
类创建线程对象,并传入要执行的函数作为参数。例如:
import threading
def task():
# 线程要执行的任务
thread = threading.Thread(target=task)
2. 启动线程
使用start()
方法启动线程。例如:
thread.start()
3. 线程参数说明
target
要执行的函数或方法。例如:
thread = threading.Thread(target=task)
args
要传递给目标函数的参数,以元组的形式传入。例如:
def task(arg1, arg2):
# 线程要执行的任务
thread = threading.Thread(target=task, args=(arg1, arg2))
kwargs
要传递给目标函数的关键字参数,以字典的形式传入。例如:
def task(arg1, arg2, kwarg1=None, kwarg2=None):
# 线程要执行的任务
thread = threading.Thread(target=task, args=(arg1, arg2), kwargs={'kwarg1': value1, 'kwarg2': value2})
4. 线程方法说明
start()
启动线程。
run()
线程要执行的任务。
join(timeout=None)
等待线程执行完成。如果指定了timeout
参数,表示最多等待的时间(以秒为单位)。
is_alive()
判断线程是否处于活动状态。
getName()
获取线程的名称。
setName(name)
设置线程的名称。
代码示例
下面是一个使用多线程的示例代码:
import threading
import time
def task(name):
print(f"线程 {name} 开始执行")
time.sleep(2)
print(f"线程 {name} 执行完成")
threads = []
for i in range(3):
thread = threading.Thread(target=task, args=(f"Thread-{i+1}",))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
print("所有线程执行完成")
import threading
import time
def task(name):
print(f"线程 {name} 开始执行")
time.sleep(2)
print(f"线程 {name} 执行完成")
threads = []
for i in range(3):
thread = threading.Thread(target=task, args=(f"Thread-{i+1}",))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
print("所有线程执行完成")
以上代码创建了3个线程,每个线程执行task
函数,输出线程开始执行和执行完成的信息。主线程使用join()
方法等待所有线程执行完成后输出"所有线程执行完成"。