使用到多线程,无可避免的会遇到同步问题,qt提供几种同步线程的方法,在这里讲一下QWaitcondition的简单使用。
一、QWaitcondition,是通过一个线程达到某种条件来唤起另一个线程来实现同步的
mutex.lock();
waitcondition.wait(&mutex);
需要用到一个互斥量作为参数,而这个互斥量的状态必须是locked的。
当调用这一句waitcondition.wait(&mutex) 在等待触发条件的时候,此时的mutex已经被设置为unlocked状态。当条件满足wait语句朝下执行的时候
mutex又被设置为locked状态
二、看看具体实例
mutex.lock();
int a,b,c;
a =10;
b= 2;
c = 7;
qDebug()<<"usedSpace"<<usedSpace;
//if(usedSpace == BufferSize)