python培训之threading线程同步如何实现

发布时间:2023-01-31 09:42:23 人气:33 作者:多测师

  python threading线程同步如何实现

  说明

  1、threading模块具有实现锁定的内置功能,允许同步线程。

  为了防止数据损坏或丢失,需要锁定来控制共享资源的访问。

  2、可以调用Lock()方法来应用锁,它新的锁对象。

  可以调用锁对象的获取(阻塞)方法来强制线程同步运行。

  实例

  #Python 多线程示例来演示锁定。

  #1. 使用 threading.Thread 类定义子类。

  #2. 实例化子类并触发线程。

  #3. 在线程的 run 方法中实现锁。

  import threading

  import datetime

  exitFlag = 0

  class myThread (threading.Thread):

  def __init__(self, name, counter):

  threading.Thread.__init__(self)

  self.threadID = counter

  self.name = name

  self.counter = counter

  def run(self):

  print("\nStarting " + self.name)

python培训之threading线程同步如何实现

  # 获取锁同步线程

  threadLock.acquire()

  print_date(self.name, self.counter)

  # 为下一个线程释放锁

  threadLock.release()

  print("Exiting " + self.name)

  def print_date(threadName, counter):

  datefields = []

  today = datetime.date.today()

  datefields.append(today)

  print("{}[{}]: {}".format( threadName, counter, datefields[0] ))

  threadLock = threading.Lock()

  threads = []

  # 创建新线程

  thread1 = myThread("Thread", 1)

  thread2 = myThread("Thread", 2)

  # 启动新线程

  thread1.start()

  thread2.start()

  # 添加线程到线程列表

  threads.append(thread1)

  threads.append(thread2)

  # 等待所有线程完成

  for thread in threads:

  thread.join()

  print("\nExiting the Program!!!")

  以上就是python threading线程同步的实现,希望对大家有所帮助。更多Python学习指路:请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线