Libuv çalıştırma döngüsüne adanmış yeni bir iş parçacığı oluşturdum. iplik işlevi şöyle görünür:Libuv vida dişi güvenli midir?
void thread_function()
{
uv_loop_t *loop = uv_loop_new();
uv_ref(loop);
uv_run(loop);
}
ref sayacı artış hayatta iplik tutan ve olaylar libuv işlemek için bir devlet. Çalışma döngüsünün bitmesine ve böylece ana iş parçacığına uv_unref
çalıştırılarak iş parçacığının çıkmasına neden olabilmeyi umuyorum. Ancak, uv_ref
kaynak kodunun denetlenmesi sırasında, eşzamanlı erişim sırasında referans sayacı değişkenine erişimin senkronize edileceğine dair herhangi bir garanti göremedim. Ayrıca, çalışma döngüsü sırasında işletim sistemine denetimden vazgeçme yönünde herhangi bir getiri çağrısı görmedim, bu da programın diğer süreçlerle iyi bir işbirliği yapmayacağı anlamına geliyor. Bu, libuv'u doğru şekilde kullanmadığımı düşünmeme yol açıyor. Birisi yanlış yaptığımı açıklayabilirse, bu harika olurdu!