Advertisement

使用pypubsub实现Python间的通信

阅读量:

当两个线程执行不同任务时,有时需要彼此间传递信息。

此前我曾使用 pypubsub 实现线程与 wxpython 界面之间的信息交互。以下则提供一个仅用于线程之间通信的示例。

具体场景如下:

线程1负责监测网络连接状态

线程2执行测试脚本,在运行过程中,脚本会检测网络状态标识。若标识为 fail,则测试脚本将暂停运行,直至标识变为 ok。

当网络连接出现问题时,线程1会将当前状态传递给线程2。

我在线程1中设置了随机故障模拟。

线程2的功能仅限于输出打印语句。

pub.subscribe 可被视作注册一个接收消息的函数
pub.sendMessage 则用于向已注册的函数发送消息
代码中这两个步骤的关键字为 'setstatus',按照这种方式,还可以定义多个消息发送与接收机制。函数也可以携带其他参数。更多相关内容可参考 pypubsub 的官方文档。

复制代码
 # encoding: utf-8

    
 """
    
 @author: 陈年椰子
    
 @contact: hndm@qq.com
    
 @version: 1.0
    
 @project:test 
    
 @file: thread_test.py
    
 @time: 2020/5/8 0008 16:46
    
   10. 说明 线程间通信,

全部评论 (0)

还没有任何评论哟~