多线程condition,python多线程
原理分析
1.Python条件变量Condition需要和互斥体关联,条件本身提供了wait、notify和notifyAll方法。
2.它用于阻塞和通知其他并行线程它们可以访问共享资源。
条件提供了多线程通信机制。如果线程1需要数据,线程1会阻塞等待,然后线程2会制造数据。线程2做出数据后,通知线程1可以获取数据,然后线程1就会获取数据。
实例
#!usr/bin/envpython
#-*-编码:utf-8_*-
#导入线程模块
导入线程
#创建条件变量condition
con=线程。条件()
defthread_one(姓名):
#条件变量条件线程被锁定
con.acquire()
打印({}:是成语接龙准备好了)。格式(名称))
#等待正在等待的线程(等待)
con.notify()
#等待对方的响应消息,用wait阻塞线程,等待对方通过notify唤醒这个线程。
等待()
打印({}:全部清除)。格式(名称))
#唤醒彼此
con.notify()
#等待消息说是
等待()
Print ({0} :我知道一天能看到Tik Tok的美女,我给你说个简单的。来了:手脚并用。格式(名称))
#唤醒彼此
con.notify()
#等待消息说是
等待()
打印( {}:哟哟,不错嘛!.格式(名称))
#唤醒彼此
con.notify()
#条件变量条件线程释放锁
con.release()
defthread_two(姓名):
#条件变量条件线程被锁定
con.acquire()
#wait阻塞状态,等待其他线程通过notify唤醒本线程。
con.wait()
打印( {}:准备好了~走吧!.格式(名称))
#唤醒彼此
con.notify()
#等待消息说是
等待()
打印( {}:洁身自好妹子,无法回答.让我们来个简单的.格式(名称))
#唤醒彼此
con.notify()
#等待消息说是
con.wait()
打印( {}:嘿,我知道这个:脚踏实地。格式(名称))
#唤醒彼此
con.notify()
con.release()
if__name__==__main__:
#创建并初始化一个线程
t1=线程。Thread(target=thread_one,args=(A ))
t2=线程。Thread(target=thread_two,args=(B ))
#启动线程——注意线程启动顺序,这很重要。
t2.start()
t1.start()
#阻塞主线程并等待子线程结束
t1.join()
t2.join()
打印(“程序结束!”)
输出结果:
A:成语接龙准备好了吗?
B:准备好了~走吧!
:是干净的。
B:操你妹,我答不上来.来个简单的。
A:知道如何在一天内看Tik Tok美女。让我给你一个简单的。给你:所有的手和脚。
嘿,我知道这个:脚踏实地
A:哟哟,好,好!
程序结束!
以上是python线程中的条件原理。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。