Python中使用线程可以执行多个任务并发。使用线程主要步骤:
- 导入线程模块
## python www.itzhimei.com 代码
import threading
- 创建线程子类并重写init()和run()
## python www.itzhimei.com 代码
class MyThread(threading.Thread):
def __init__(self, arg):
super().__init__()
self.arg = arg
def run(self):
print(self.arg)
- 创建线程对象并启动线程
## python www.itzhimei.com 代码
t = MyThread("Hello")
t.start()
- join()方法等待线程结束
## python www.itzhimei.com 代码
t.join()
线程同步机制:
- Lock用于确保同时只有一个线程访问
## python www.itzhimei.com 代码
lock = threading.Lock()
lock.acquire() # 加锁
# 访问共享资源
lock.release() # 释放锁
- Semaphore用于控制访问共享资源的线程数量
## python www.itzhimei.com 代码
sem = threading.Semaphore(3)
sem.acquire()
# 访问共享资源
sem.release()
线程可执行多个任务,用锁和信号量来同步不同线程的数据访问。