我一直在阅读libuv书,但是关于检查和准备观察者的部分是不完整的,所以我发现的唯一信息是在uv.h中:
/* * uv_prepare_t is a subclass of uv_handle_t. * * Every active prepare handle gets its callback called exactly once per loop * iteration, just before the system blocks to wait for completed i/o. */
和
/* * uv_check_t is a subclass of uv_handle_t. * * Every active check handle gets its callback called exactly once per loop * iteration, just after the system returns from blocking. */
我想知道libuv的检查和准备观察者是否有任何特殊用法.
我正在编写一个本机node.js绑定到需要处理从不同线程触发的事件的c ++库,所以自然地,应该从主线程调用回调.我尝试过使用uv_async_t,但是libuv并不能保证每次都会调用一次回调,uv_async_send所以这对我不起作用.
这就是为什么我决定使用自己的线程安全事件队列,我想定期检查.所以我想知道使用支票或准备观察者是否可以用于此目的.
实际上,我当前的解决方案确实使用了一个 …