资源简介
代码片段和文件信息
#include
#include
#include
#include
const int DataSize = 10;
const int BufferSize = 5;
char buffer[BufferSize];
QSemaphore freeBytes(BufferSize);
QSemaphore usedBytes;
// 生产者线程类
class Producer : public QThread
{
public:
void run();
};
void Producer::run()
{
qsrand(QTime(000).secsTo(QTime::currentTime()));
for (int i = 0; i < DataSize; ++i) {
freeBytes.acquire();
buffer[i % BufferSize] = “ACGT“[(int)qrand() % 4];
qDebug() << QString(“producer: %1“).arg(buffer[i % BufferSize]);
usedBytes.release();
}
}
// 消费者线程类
class Consumer : public QThread
{
public:
void run();
};
void Consumer::run()
{
for (int i = 0; i < DataSize; ++i) {
usedBytes.acquire();
qDebug() << QString(“consumer: %1“).arg(buffer[i % BufferSize]);
freeBytes.release();
}
}
// 主函数
int main(int argc char *argv[])
{
QCoreApplication app(argc ar
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 47 2011-11-15 19:24 mySemaphores.pro
文件 24146 2019-04-03 06:41 mySemaphores.pro.user
文件 1186 2011-11-15 19:27 main.cpp
- 上一篇:qt 抽屉式对话框开发教程
- 下一篇:移动联通短信猫wavecom收发插件
相关资源
- qt源码ftp文件上传
- c++ 数字键盘设计(源码)
- 多窗口文本工具(qt源码)
- 对qt窗体进行简单操作(修改lable的值
- Qt五子棋小游戏(源码+截图)
- 监视文件目录变化(qt源码)
- Linux优先级时间片调度C++源码
- unix环境高级编程 源码(APUE源码)
- iOS条形码二维码识别项目源码
- I0操作_LED流水灯xws
- TFT显示程序 源码
- qt5 旋转(.patch文件源码)
- 蓝牙小车(BluetoothCar)
- 基于stm32f103的AD7091源码
- 51实时操作系统程序(easy51os)
- 信号发生器(附电路图以及源码)
- 空气报警器源码
- OSEK_NM-master汽车网络管理源码
- UCOSIII系统源码
- 基于Aurix的AUTOSAR多核操作系统的实现
- STM32F103系列ADC操作
- tq244-pwm频率调节源码
- STM32c8t6 PS2 小车源码
- STM32f103(I0操作_LED流水灯)
- vxWorks开发:飞控代码源码
- 电机控制平台(c++源码)
- MLX90614红外测温传感器源码 单片机源
- 《嵌入式实时操作系统uCOS-II》邵贝贝
- STM32控制MPU6050六轴传感器源码
- linux驱动原子操作
评论
共有 条评论