Tag: pthreads

libuv线程安全吗?

我创build了一个专用于libuv运行循环的新线程。 线程函数看起来像这样: void thread_function() { uv_loop_t *loop = uv_loop_new(); uv_ref( loop ); uv_run( loop ); } 引用计数递增保持线程活着并处于处理libuv事件的状态。 我希望能够导致运行循环结束,从而导致线程退出,在主线程上执行uv_unref 。 但是,在检查uv_ref源代码时,我没有看到任何保证在并发访问期间对引用计数器variables的访问将被同步。 另外,在运行循环期间,我没有看到任何yield yield调用来放弃对操作系统的控制,这意味着该程序不会与其他进程合作。 这导致我相信我没有以正确的方式使用libuv。 如果有人能解释我做错了什么,那会很棒!