当前位置: 代码迷 >> QT开发 >> Qt线程类QThread 在windows下的线程创建和终结
  详细解决方案

Qt线程类QThread 在windows下的线程创建和终结

热度:37   发布时间:2016-04-25 03:29:16.0
Qt线程类QThread 在windows下的线程创建和结束
Qt线程类QThread 在windows下的线程创建和结束:我用写一个线程类继承与QThread ,重载run()函数里面有执行代码但是没有写循环。然后后每次运行都执行start(),来运行run()函数的代码。我有实例化好几个这个线程类对象。执行时都同时运行start()函数。
我现在有两个方面的疑惑:一:QThread 是什么时候创建线程和结束线的,是实例化线程QThread 类的时候还是什么时候? 二:我每次都会执行start()函数,那么在run()结束时,线程是挂起状态还是已经销毁?
三:用那种方式好些,在run()下面写过循环,还是线程执行时每次都执行一次start()函数。我的程序基本是这个几个线程并发的。
------解决方案--------------------
1、底层线程在start()开始启动,start()结束就销毁。
2、如果频繁调用start()很有可能出现运行错误。
3、我的方法,run()函数里面写个while( flag )循环,控制flag的真假和使用QThread::wait()来保证线程的结束。
  相关解决方案