複数のソースからのメッセージを待っている間にブロックするメイン ループを作成するにはどうすればよいですか? 私が理解しているように、イベント処理ループを記述する好ましい方法は、イベントを待っている間にブロックすることです。
ただし、メッセージが複数のソースから送信される可能性がある場合、ブロックを正しく処理するにはどうすればよいでしょうか?
ユーザー入力イベントと nanomsg 経由で送信されたメッセージの両方に応答する GTK GUI を書きたいと思います。
GTK では、 を呼び出すgtk_main()
か、ブロックしない方法で を使用して、そのイベントを処理できますgtk_main_iteration_do (FALSE)
。
Nanomsg は、メッセージをポーリングするだけでなく、ブロッキング モードまたは非ブロッキング モードでメッセージを受信できます。
ソースが最初に利用可能な「ブロック解除」を入力するまで、何らかの方法でブロックすることは可能ですか? sleep
つまり、すべてのイベントに応答し続けるものを使用する代替手段はありますか?