我正在使用boost :: thread_group,在发送信号后我抓住它并在thread_group上发送interrupt_all()。几乎总有一个(!)线程虽然经过中断点但没有中断。我认为使用双核处理器可能会导致它。但是,即使我设置在一个核心上启动所有线程,也会出现此问题。
可能是什么原因?
创建我自己的(全局)interruption_point只是我想到的一种解决方案。
答案 0 :(得分:1)
我需要说线程中断从来就不是一个可靠的"几乎所有平台上都有功能。 如果你的程序依赖它,你最好重新设计。