我正在使用async_receive_from
來讀取多播輸入。所以我的想法是,當我發現一個缺口時,我會通知另一個輔助線程來請求/獲取缺口填充信息。雖然這是在工作中,主線程將繼續接收和排隊任何傳入的消息。這部分我可以實現。另一個線程可以使用waitforsingleobject,我可以通過共享內存傳遞細節,並通知事件喚醒它。從另一個線程中斷boost :: asio :: async_receive_from
但是一旦它完成它的任務,我該如何獲得幫助線程來中斷啓動線程中的async_receive_from
?當它出現在閱讀中時,它知道是誰被打斷了,所以它會知道下一步該做什麼?
您的設計聽起來不必要的複雜,爲了得到一些更好的答案,您應該明確說明爲什麼要使用助手線程和共享內存。這兩個概念在使用asio時都有點奇怪。 –