python 实现两个线程交替执行


Posted in Python onMay 02, 2020

我就废话不多说,直接看代码吧!

import threading
import time

def a():
  while True:
    lockb.acquire()
    print('a')
    locka.release()
    time.sleep(0.5)


def b():
  while True:
    locka.acquire()
    print('b')
    lockb.release()
    time.sleep(0.5)


if __name__ == "__main__":
  locka = threading.Lock()
  lockb = threading.Lock()

  ta = threading.Thread(None, a)
  tb = threading.Thread(None, b)

  locka.acquire()   #保证a先执行

  ta.start()
  tb.start()

获取对方的锁,运行完后释放自己的锁

补充知识:线程同步——两个线程轮流执行python实现

看代码!

import threading
import time
lockA=threading.Lock()
lockB=threading.Lock()
def printA(n):
 if n<0:
  return
 lockA.acquire()
 print("+++")
 lockB.release()
 time.sleep(0.1)
 printA(n-1)
def printB(n):
 if n<0: 
  return
 lockB.acquire()
 print("***")
 lockA.release()
 time.sleep(0.2)
 printB(n-1) 
 
lockB.acquire()
t1=threading.Thread(target=printA,args=(10,))
t2=threading.Thread(target=printB,args=(10,))
t1.start()
t2.start()
t1.join()
t2.join()

找实习,又要回忆起操作系统的东西了。

思想:创建两个锁lockA和lockB。每次执行完后,锁掉自己的锁,并释放对方的锁。

初始时,若A先运行,则释放A的锁,锁住B的锁。

以上这篇python 实现两个线程交替执行就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python正则表达式判断字符串是否是全部小写示例
Dec 25 Python
python获取图片颜色信息的方法
Mar 18 Python
用python制作游戏外挂
Jan 04 Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 Python
python绘制多个子图的实例
Jul 07 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
Python sorted对list和dict排序
Jun 09 Python
Python基础之Socket通信原理
Apr 22 Python
你喜欢篮球吗?Python实现篮球游戏
Jun 11 Python
Python中使用threading.Event协调线程的运行详解
May 02 #Python
浅谈Python3多线程之间的执行顺序问题
May 02 #Python
python继承threading.Thread实现有返回值的子类实例
May 02 #Python
Python3-异步进程回调函数(callback())介绍
May 02 #Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 #Python
判断Threading.start新线程是否执行完毕的实例
May 02 #Python
python中threading开启关闭线程操作
May 02 #Python
You might like
php 文章调用类代码
2011/08/11 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
Python实现远程调用MetaSploit的方法
2014/08/22 Python
python私有属性和方法实例分析
2015/01/15 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
Python3.6正式版新特性预览
2016/12/15 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
python中open函数的基本用法示例
2019/09/07 Python
Python如何存储数据到json文件
2020/03/09 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
2020/05/27 Python
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
轻化专业学生实习自我鉴定
2013/09/20 职场文书
初中生学习的自我评价
2013/11/14 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
献爱心标语
2014/06/21 职场文书
第一节英语课开场白
2015/06/01 职场文书
Python基本知识点总结
2022/04/07 Python