永发信息网

怎样强制停止一个QT线程

答案:2  悬赏:0  手机版
解决时间 2021-02-27 18:56
怎样强制停止一个QT线程
最佳答案
调用terminate()~``; 或者终止线程所在的进程也可!
最好是在循环条件中加个终止变量, 需要终止时改变变量的值来结束比较合适
全部回答
qt线程有3个函数可以关闭线程,分别是: void quit () 相当于exit(0)。 void exit ( int returncode = 0 ) 调用exit后,thread将退出event loop,并从exec返回,exec的返回值就是returncode。 通常returncode=0表示成功,其他值表示失败。 void terminate () 结束线程,线程是否立即终止取决于操作系统。 线程被终止时,所有等待该线程finished的线程都将被唤醒。 terminate是否调用取决于setterminationenabled ( bool enabled = true )开关。 其中quit与terminate是槽,可以直接用信号连接关闭线程,不过一般不建议使用terminate,还有想关闭线程,最好像下面例子; 直接调用stop接口就行了,线程就会关闭 class thread : public qthread { q_object public: thread(); void setmessage(const qstring &message); void stop(); protected: void run(); private: qstring messagestr; volatile bool stopped; }; thread::thread() { stopped = false; } void thread::run() { while (!stopped) std::cerr stopped = false; std::cerr } void thread::stop() { stopped = true; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
I wanna be a star, no one can stop the dre
在意大利语"Caro"是怎么发音的?
8.9乘以400用坚式计算等于多少?
【现价工业总产值】工业产品销售率等于现价工
科密指纹HRU30考勤机高级管理员如何更改
锦荣商贸城4号门在什么地方啊,我要过去处理
蜜菓の蜜制鮮飲(康育北路店)怎么去啊,有知道
脸大怎么判断是咬肌还是骨头
刘老根里翟老头唱的那个雷劈什么
酒精能与塑料反应吗?
经济有限公司怎样?女生适合做金融投资吗?
分手了男友家族群说我坏话我用理会吗?
榴莲干一次能吃多少
形容去掉那些多余没用的,留下精简也是最好的
蜀顺驾校报名处这个地址在什么地方,我要处理
推荐资讯
山东蓬莱是属于山东哪个市的啊???
科室护理文化建设,有哪些接地气的举措
顺意配货怎么去啊,有知道地址的么
淘宝评价送淘金币是什么 淘宝评价送淘金币怎
电脑 怎样下单机游戏 可以玩
红豆杉叶子发黄有黑点怎样冶
求一篇用fluent模拟管壳式换热器的文章
为什么爸爸要让我在差学校读书?
dnf河南一区谁帮我看一下金币价格
现在四川怎么样了?
阅读材料,完成下列各题。材料一 材料二 扩
长治到左权高速路况
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?