У меня есть C++ lib, клиентское приложение использует эту библиотеку для запроса данных с сервера. Этот lib создает отдельный поток для связи с сервером, результат запроса будет передан как параметр в функции обратного вызова.libuv thread communication
Теперь я хочу обернуть этот C++ lib в собственный модуль nodejs, поскольку в этом потоке вызываются функции обратного вызова, чтобы передать результат запроса в среду js, я считаю, что мне нужно использовать uv_async_send libuv uv_async_t * async) для передачи данных между двумя нити (поправьте меня, если я ошибаюсь)
Согласно libuv's doc:.
Внимание: libuv сольются вызовы uv_async_send(), то есть не каждый вызов это приведет к выполнению обратного вызова. Например: если uv_async_send() вызывается 5 раз подряд перед вызовом обратного вызова, обратный вызов будет вызываться только один раз. Если uv_async_send() вызывается снова после вызова обратного вызова, он будет вызываться снова.
Означает ли это предупреждение, что uv_async_send может привести к потере данных? Я хочу знать, предлагает ли libuv лучшее решение для этой проблемы или я должен использовать некоторые другие библиотеки thead.
Ваше предложение верное, спасибо за вашу помощь! – forrest