我提出,从两个源接收命令的控制台应用程序:中断一个函数getline(),而循环在C++
- 实际控制台 - >这是一个while(函数getline())在一个单独的线程循环。
- 甲WebSocket伺服器 - >此也运行在一个单独的线程
如果有一个命令输入的命令,被存储在矢量直到另一个while循环(运行每20ms)循环槽的所有命令在过去的时间输入。如果他读取命令,他执行它。
现在,有一个Stop命令停止应用程序。输入时,应用程序按预期关闭。但问题是:这需要一些时间,并且仍然可以从第一个命令源(getline())输入文本。一旦你输入了一些东西,关机程序就会停止,并等到你按下输入。
一旦关闭序列开始,我终止第一个线程(包含getline循环)。但是这不起作用...
任何想法?
提前致谢!
我不能这样做,因为那个线程不知道,当他收到那条消息时,已经太晚了...... – Antony 2014-11-23 12:04:21
我无法上传50个类和头文件中存在的代码。我试图尽可能好地解释结构。我的代码是不需要的,我只需要一种方法来取消正在循环的getline()动作。如果你真的认为需要这些代码,我会尝试发布相关的代码。 – Antony 2014-11-23 12:30:13