python线程之间如何通信(python threading线程同步如何实现)
导读:说明...
说明
1 、threading模块具有实现锁定的内置功能 ,允许同步线程 。
为了防止数据损坏或丢失 ,需要锁定来控制共享资源的访问 。
2 、可以调用Lock()方法来应用锁 ,它新的锁对象 。
可以调用锁对象的获取(阻塞)方法来强制线程同步运行 。
实例
#Python多线程示例来演示锁定 。 #1.使用threading.Thread类定义子类 。 #2.实例化子类并触发线程 。 #3.在线程的run方法中实现锁 。 importthreading importdatetime exitFlag=0 classmyThread(threading.Thread): def__init__(self,name,counter): threading.Thread.__init__(self) self.threadID=counter self.name=name self.counter=counter defrun(self): print("\nStarting"+self.name) #获取锁同步线程 threadLock.acquire() print_date(self.name,self.counter) #为下一个线程释放锁 threadLock.release() print("Exiting"+self.name) defprint_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) #等待所有线程完成 forthreadinthreads: thread.join() print("\nExitingtheProgram!!!")以上就是python threading线程同步的实现 ,希望对大家有所帮助 。更多Python学习指路:Python基础教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!