ZeroMQソケットをglibプログラムに追加したかったのです。
落とし穴は、zmqソケットは対応できずpoll()
、古い関数をオーバーロードする実装を提供することpoll()
です。それをメインループに効率的に統合するにはどうすればよいですか?zmq_poll()
デフォルトのものの代わりに彼らのpoll()を使用しようとしましたが、それを.にする以外に、それにzmqソケットを与える良い方法はありませんglobal
。
新しい定義はGSource
機能しますが、CPU使用率が高くなる(設定するtimeout = 0
)か、任意のポーリングタイムアウト(たとえばtimeout = 100
、少なくとも100ミリ秒ごとにポーリングされるように設定する)が発生する可能性があります。これは、ポーリングの可能性があるため、実際には効率的ではありません。