我想将 ZeroMQ 套接字添加到 glib 程序中。
遗憾的是,zmq 套接字是不可poll()
用的,他们给出了他们的实现,这使旧的poll()
func 重载。我怎样才能有效地将它集成到主循环中?我尝试使用他们的 poll ( zmq_poll()
) 而不是默认的,但是除了将其设置为global
.
定义一个新的GSource
工作,但它可以获得高 CPU 使用率(通过设置timeout = 0
)或任意轮询超时(例如设置timeout = 100
为至少每 100 毫秒轮询一次),这并不是真正有效的,因为存在轮询的可能性。