• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python多线程编程(八):使用Event实现线程间通信

Python多线程编程(八):使用Event实现线程间通信

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python event,python win32event,python中event,python event.type,python 多线程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

使用threading.Event可以实现线程间相互通信,之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我们已经初步实现了线程间通信的基本功能,但是更为通用的一种做法是使用threading.Event对象。使用threading.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到线程对象中,Event默认内置了一个标志,初始值为False。一旦该线程通过wait()方法进入等待状态,直到另一个线程调用该Event的set()方法将内置标志设置为True时,该Event会通知所有等待状态的线程恢复运行。
'''
Created on 2012-9-9
 
@author: walfred
@module: thread.TreadTest8
''' 
 
import threading 
import time 
 
class MyThread(threading.Thread): 
    def __init__(self, signal): 
        threading.Thread.__init__(self) 
        self.singal = signal 
 
    def run(self): 
        print "I am %s,I will sleep ..."%self.name 
        self.singal.wait() 
        print "I am %s, I awake..." %self.name 
 
if __name__ == "__main__": 
    singal = threading.Event() 
    for t in range(0, 3): 
        thread = MyThread(singal) 
        thread.start() 
 
    print "main thread sleep 3 seconds... " 
    time.sleep(3) 
 
    singal.set()
</div>

运行效果如下:

I am Thread-1,I will sleep ...
I am Thread-2,I will sleep ...
I am Thread-3,I will sleep ...
main thread sleep 3 seconds...
I am Thread-1, I awake...I am Thread-2, I awake...
 
I am Thread-3, I awake...
</div>

</div>

您可能想查找下面的文章:

  • Python编程之event对象的用法实例分析
  • Python编程之event对象的用法实例分析
  • Python多线程编程(八):使用Event实现线程间通信

相关文章

  • python虚拟环境virualenv的安装与使用
  • 在Python的while循环中使用else以及循环嵌套的用法
  • python fabric使用笔记
  • Flask框架的学习指南之开发环境搭建
  • python 图片验证码代码
  • python里大整数相乘相关技巧指南
  • Python实现豆瓣图片下载的方法
  • python搭建简易服务器分析与实现
  • Python入门教程之运算符与控制流
  • 介绍Python中的__future__模块

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 讲解Python中if语句的嵌套用法
    • python标准算法实现数组全排列的方法
    • Python获取apk文件URL地址实例
    • Python实现建立SSH连接的方法
    • 在Python中用split()方法分割字符串的使用介绍
    • Python中的赋值、浅拷贝、深拷贝介绍
    • python通过yield实现数组全排列的方法
    • 编写Python CGI脚本的教程
    • Python NumPy库安装使用笔记
    • Python实现向QQ群成员自动发邮件的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有