PyQt实现的生产者消费者模型
来源:互联网 发布:最好的网络借贷平台 编辑:程序博客网 时间:2024/05/20 11:26
from PyQt5.QtCore import QCoreApplication, QMutex, QThread, QWaitConditionDataSize = 1000000BufferSize = 8192buffer = ['0' for x in range(BufferSize)]bufferNotEmpty = QWaitCondition()bufferNotFull = QWaitCondition()mutex = QMutex()numUsedBytes = 0class Producer(QThread): def __init__(self): super().__init__() def run(self): global numUsedBytes for i in range(DataSize): mutex.lock() if numUsedBytes == BufferSize: bufferNotFull.wait(mutex) mutex.unlock() print("produce ", i) buffer[i % BufferSize] = i mutex.lock() numUsedBytes += 1 bufferNotEmpty.wakeAll() mutex.unlock()class Consumer(QThread): def __init__(self): super().__init__() def run(self): global numUsedBytes for i in range(DataSize): mutex.lock() if numUsedBytes == 0: bufferNotEmpty.wait(mutex) mutex.unlock() print(buffer[i % BufferSize]) mutex.lock() numUsedBytes -= 1 bufferNotFull.wakeAll() mutex.unlock()if __name__ == '__main__': import sys app = QCoreApplication(sys.argv) producer = Producer() consumer = Consumer() producer.start() consumer.start() producer.wait() consumer.wait() print("hello, finished") sys.exit(app.exec_())
0 0
- PyQt实现的生产者消费者模型
- 生产者消费者模型的实现
- 生产者消费者模型的实现
- 生产者-消费者模型实现
- 生产者-消费者模型的Java实现
- 生产者-消费者模型的Java实现
- 生产者-消费者模型的java实现
- [多线程] 生产者消费者模型的BOOST实现
- golang 的 channel 实现 生产者/消费者 模型
- 生产者-消费者模型的Java实现
- 生产者-消费者模型的Java实现
- 基于QT实现的生产者消费者模型
- 基于JAVA实现的生产者消费者模型
- 生产者-消费者模型的Java实现
- 简单实现生产者、消费者模型
- java实现生产者消费者模型
- LinkedBlockingQueue 实现生产者消费者模型
- OpenMP实现生产者消费者模型
- 快速排序
- 电影下载
- Laravel 5.3 windows环境安装
- 计算斐波那契数列的两种常用方式的性能比较
- 微信bug总结一
- PyQt实现的生产者消费者模型
- 颜色空间那些事儿
- [Leetcode] Majority Element
- dfs-poj-1321棋盘问题
- 【洛谷P1268】树的重量 具体问题具体分析
- HDU 5858 Hard problem(计算几何)
- springMVC框架开发笔记 lesson3 SSM框架整合
- HTTP状态码
- [Leetcode] Contains Duplicate