返回信息流请教一下,我将数据传到服务器端后,有服务器端调用第三方的动态库计算,有时候很快出结果,但是有时候很长时间都没有结果,这是客服端想发送一个信息终止计算,但是服务器端正在计算,收到消息之后不立即处理,而是等到计算结束后才处理。那怎么才能让他终止计算呢?但是不能关闭服务器端,否则下一次连接就不行了
这是一条镜像帖。来源:北邮人论坛 / cpp / #95647同步于 2017/6/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
qt中怎么中断正在计算的程序?
tiaoji
2017/6/22镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
这是服务器端设计的问题,一般来说,服务器无论干什么都不该停止消息响应,所以普遍的做法是响应消息的逻辑放在主线程,其他一切事物都放到子线程或者甚至另开进程去干。
【 在 zhuzige 的大作中提到: 】
: 你没有多进程或多线程的话肯定是按序执行的啊,你运算的时候是不是整个界面都卡住了?试试将计算开另一个进程或线程,到时候用进程或线程号关闭?
我用了多线程使用的QThread类,但是,在运行这个线程时,他是等到后面的都运行完了,才启动,如下图所示:
--图中的process()函数中调用startMapleThread()启动一个线程mapleThread,这个线程会向outMessage 中写入数据,但是我运行时发现,是startMapleThread()该函数下面的代码运行完后,该线程才启动,那么我写入out的结果就不对,怎么让他先运行呢?