Python多线程实现交替打印a和b 100次
以下是一个使用Python的多线程实现的示例代码:\n\npython\nimport threading\n\nclass PrintAB(threading.Thread):\n def __init__(self, name, target, next_target, count):\n threading.Thread.__init__(self)\n self.name = name\n self.target = target\n self.next_target = next_target\n self.count = count\n\n def run(self):\n for i in range(self.count):\n with lock:\n print(self.target, end='')\n lock.notify()\n lock.wait()\n\nlock = threading.Condition()\nt1 = PrintAB('Thread1', 'a', 'b', 100)\nt2 = PrintAB('Thread2', 'b', 'a', 100)\n\nt1.start()\nt2.start()\n\nt1.join()\nt2.join()\n\n\n在上述代码中,我们定义了一个PrintAB类,该类继承自threading.Thread,并重写了run()方法。在run()方法中,使用with lock语句获取锁,并使用lock.notify()通知另一个线程,然后使用lock.wait()暂停当前线程,等待另一个线程的通知。\n\n我们创建了两个PrintAB对象,分别用来打印a和b,并传入了相应的参数。然后,我们使用start()方法启动这两个线程,并使用join()方法等待它们执行结束。\n\n通过使用条件变量lock来控制线程的交替执行,我们可以确保两个线程分别交替打印a和b,并且每个字符都打印100次。
原文地址: https://www.cveoy.top/t/topic/pJ7u 著作权归作者所有。请勿转载和采集!