Qt QThread
https://blog.csdn.net/u013488085/article/details/51333756
或
http://blog.sina.com.cn/s/blog_a6fb6cc90102vs8z.html
boost::shared_ptr
https://www.cnblogs.com/helloamigo/p/3575098.html
boost::function的用法
https://blog.csdn.net/zgaoq/article/details/74332084
https://blog.csdn.net/zgaoq/article/details/74354928
Linux信号量 sem_t简介
https://blog.csdn.net/evsqiezi/article/details/8061176
linux线程互斥量pthread_mutex_t使用简介
https://blog.csdn.net/guotianqing/article/details/80559865
Linux poll 机制:
理论:https://blog.csdn.net/zhuxiaoping54532/article/details/51701549
https://blog.csdn.net/lizuobin2/article/details/52703976
实例:https://blog.csdn.net/moxiaoxuan123/article/details/61622531
主要代码
引用和定义
qt开发环境.pro文件:
LIBS += -L/usr/local/lib -lboost_system -lboost_thread -lboost_filesystem
头文件:
// 必须:
#include <boost/thread.hpp>//可选
#include <QObject>
#include <QThread>
#include <semaphore.h>
#include <boost/function.hpp>
变量:
boost::thread *hThread;
bool continueThread;
使用
调用
int main(int argc, char *argv[])
{
...
startThread();
...
}
开始
void startThread():
{
continueThread = true;
hThread = new boost::thread(boost::bind(&process, this));
}
处理
void process()
{
...
while (true) {
...
}
}
结束
void stop()
{
continueThread = false;if (hThread)
{
hThread->join();
delete hThread;
hThread = 0;
}
}