当前位置: 代码迷 >> QT开发 >> qt多线程,该怎么处理
  详细解决方案

qt多线程,该怎么处理

热度:86   发布时间:2016-04-25 03:30:26.0
qt多线程
是这样的,我最近写QT程序,遇到一个多线程的问题,想请教一下。
如何能让某个类实现,让它所处的线程sleep一段时间
大概是这样的
    class A:public Qthread
    {
       void run()
       {
         B b;
         b.fun();
          exec();
        }
     };
    class B:public Qobject
    {
     public:
        fun()
        {
           //在这里,我需要让对应的A线程sleep一会,该如何做?
        }
   }
希望有大牛给指导。

------解决方案--------------------
你设置一个信号量,让A阻塞在这个信号量那,再在B的fun里先延时你需要的时间,再让这个信号量+1,让后A就又能继续运行了
------解决方案--------------------
在fun()里面加上这么一段代码:

QMutex dummy;
dummy.lock();
QWaitCondition waitCondition;
waitCondition.wait(&dummy, 1000); // wait for 1000 milliseconds.
  相关解决方案