线程同步操作

#下面使用线程同步操作实现两方法之间的相互通话;
在这里插入图片描述
#类似于这样的对话
一、导入threading模块,此处我们定义一个‘我’这样一个类继承线程这个父类;
在这里插入图片描述
解义:
1,、定义’i’这样一个类继承线程这个父类;初始化方法 用super()去调用父类中的方法 name 表示线程的名字在这里插入图片描述
2、类中一定要定义run()这个方法,否则其他方法无法运行,
run方法中之所以可以用with这个方法,是因为下面主函数中我们调用threading.condition()这个属性方法,从源码中可以看出condition()中实现了enter()和exit()两个方法;
enter()实际上实现的是加锁,exit()实现的是解锁;
同样此处我们使用condition()这个方法主要还是要取用它的wait()和notify()两个方法,即是等待和通知;

二、同上再定义一个’‘You’这样一个类;实现的方法也一样;
在这里插入图片描述
#1、此处我们使用self.cond.acquire() 加锁 self.cond.release() 解锁 和‘i’
类中用with的效果是一样的;

三、定义主函数,实现threading一些方法,传参;
在这里插入图片描述

#1,此处实例化类之后,一定要用start()来运行定义的两个类;
start()表示创建并执行子线程;

四、最后运行就是这样的;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值