c++ poco Event测试用例
来源:互联网 发布:手机借款软件排行 编辑:程序博客网 时间:2024/06/11 06:30
1.说明
Poco库Event类可以用作线程间的超时判断,linux下内部实现基于线程锁和条件变量机制。
2.代码
#include <iostream>#include "Poco/Thread.h"#include "Poco/Runnable.h"#include "Poco/Event.h"Poco::Event gEVENT;class SimpleClassOfSetEvent : public Poco::Runnable{public: void run() { Poco::Thread::sleep(2000); /// 2s std::cout<<"Set Event Succeed."<<std::endl; gEVENT.set(); }};class SimpleClassOfWaitEvent : public Poco::Runnable{public: void run() { if(gEVENT.tryWait(4000)) /// 4s { std::cout<<"Wait Event Success."<<std::endl; } else { std::cout<<"Time Out."<<std::endl; } }};int main(){ /// SimpleClassOfSetEvent类完成消息的set操作逻辑实现,延时2秒执行 SimpleClassOfSetEvent cSetEvent; /// SimpleClassOfWaitEvent类完成消息的wait操作逻辑实现,超时时间4秒 SimpleClassOfWaitEvent cWaitEvent; Poco::Thread cFirstThread; Poco::Thread cSecondThread; /// 启动线程 cFirstThread.start(cSetEvent); cSecondThread.start(cWaitEvent); /// 等待线程 cFirstThread.join(); cSecondThread.join(); /// set消息线程在4s超时时间内完成了消息的设定,所以wait消息线程tryWait()判断未超时。 /// 例子中gEVENT设定为全局变量只是为了Poco::Event使用方法的简单展示,真实应用场景一般不会这样使用。 /// 输出: /// Set Event Succeed. /// Wait Event Success. return 0;}
阅读全文
0 0
- c++ poco Event测试用例
- Poco::Event
- c++ poco StreamSocket tcpclient测试用例
- c++ poco Connector tcpclient测试用例
- poco 2:Event
- c++ poco Event 源码剖析
- poco图床测试
- POCO安装并测试
- Poco c ++ 库安装
- c++Poco库
- POCO中Event同步对象的POSIX实现
- C++:event
- POCO
- POCO C++ 在IOS上的使用
- C#(event)事件
- c#delegate & event
- 【C#】delegate 和 event
- Event 事件(C++)
- VTK基础概念-圆柱体绘制
- 细说单点登录
- 无题
- clipToPadding 和clipChildren 的区别
- Python之函数参数的使用
- c++ poco Event测试用例
- 4.2分析下面程序,请指出错误的原因和程序错在哪里,并改正错误。
- 机房之导出Excel
- python 手记7 〖笨方法学python习题22〗
- Java变量,运算符及进制表示------补充
- mysql中内连接和外连接on后的条件何时生效说明
- 关于在oj上出现Runtime error 的情况
- java新IO---缓冲区与Buffer
- .NET Web的身份认证