QT 多线程和线程同步

QThread线程类,
公共函数接口:
Bool isFinished() 线程是否结束
Bool isRunning() 线程是否正在运行
Proority priority() 返回线程优先级
Void setPriority(Priority priority) 设置线程优先级
Bool wait(unsigned long time) 阻塞线程time毫秒
Void exit(int returnCode = 0) 退出线程,返回0表示退出成功
信号接口:
Void finished() 线程即将结束时发送该信号
Void started() 线程开始执行,run()函数执行之前发送
保护函数:
Virtual void run() Start()调用run()开始线程任务的执行,run()实现线程功能
Int exec() 由run()调用,进入线程循环

多线程工程设计思路:

首先建立工程,在工程中添加QTread类,并在QTread类中重载线程开始、结束、暂停以及run()函数,在主线程定义线程类对象即可。

多线程同步问题:
互斥锁:QMutex,
::Run()
{
While(1){
Mutex.lock();
任务代码。。。
Mutex.unlock();
}
}
::returnValue()
{
If( Mutex.tryLock() )
{
……
Mutex.unlck();
}
}
信号量:QSemaphore(待续。。)

发布了11 篇原创文章 · 获赞 8 · 访问量 165

猜你喜欢

转载自blog.csdn.net/qq_37730663/article/details/105269511
今日推荐