【Python】Python多线程 代码举例讲解

Python中使用线程可以执行多个任务并发。使用线程主要步骤:

  1. 导入线程模块
## python www.itzhimei.com 代码
import threading
  1. 创建线程子类并重写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)
  1. 创建线程对象并启动线程
## python www.itzhimei.com 代码
t = MyThread("Hello")
t.start() 
  1. 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()

线程可执行多个任务,用锁和信号量来同步不同线程的数据访问。