Публикации по теме 'libuv'


Потоки Nodejs, четный цикл и его реализация, тестирование для одного потока…
Потоки Node.js использует два типа потоков: i) основной поток, обрабатываемый циклом событий . ii) различные вспомогательные потоки в рабочем пуле . Цикл событий Это механизм, который принимает обратные вызовы (функции) и регистрирует их для выполнения в какой-то момент в будущем. Он работает в том же потоке, что и правильный код JavaScript. Всякий раз, когда операция JavaScript блокирует поток, цикл обработки событий также блокируется. worker pool Это модель выполнения,..

Управляемый событиями TCP-сервер с использованием libuv
Если вы когда-либо писали сервер на TCP / UDP, используя потоки или вызовы select, или и то, и другое, вам следует взглянуть на libuv . Libuv - это асинхронная библиотека для C, за которой стоит впечатляющее количество проектов , таких как node.js. Библиотека имеет несколько привязок для нескольких языков программирования, отличных от C, таких как Ruby, Lua, Python, Perl, PHP, Go и Java. Следующий код C реализует базовый TCP-сервер, который использует TCP-поток и сервер, пул потоков..

Node Hero - Начало работы с Node.js
Официальный логотип Node.js Node.js - это среда выполнения JavaScript, построенная на движке JavaScript V8 Chrome. Node.js использует управляемую событиями , неблокирующую модель ввода-вывода, что делает его легким и эффективным . Другими словами: Node.js предлагает вам возможность писать серверы с использованием JavaScript с невероятной производительностью. Как говорится в официальном заявлении: Node.js - это среда выполнения, которая использует тот же движок V8 Javascript,..

Цикл событий NodeJS и libuv
Расширяя предыдущий блог цикла событий с использованием libuv ( https://medium.com/@jain.sm/non-blocking-io-using-libuv-1790b8fdbeff ), мы в этом блоге пытаемся понять, как происходит событие loop на самом деле работает в таких реализациях, как nodejs. Прежде всего, nodejs - это в основном комбинация движка v8 (который используется для JIT-компиляции кода js в машинный код) и libuv, который обеспечивает цикл событий и возможности неблокирующего ввода-вывода для nodejs. Цикл событий..

Вопросы по теме 'libuv'

Контекст таймера дополнения Node.js
Методы таймера libuv задокументированы здесь и позволяют надстройке Node.js получить обратный вызов через регулярные промежутки времени для выполнения произвольной обработки. uv_timer_t timer; uv_timer_init( uv_default_loop(), &timer);...
418 просмотров
schedule 16.02.2023

Является ли libuv просто оболочкой для libev в системах POSIX?
Я действительно запутался между libev и libuv. Является ли libuv просто оболочкой для libev в системах POSIX? Если нет, то чем он отличается?
1537 просмотров
schedule 16.03.2023

libuv объединяет несколько асинхронных вызовов и вызывает обратный вызов один раз
Требование : UDP-сервер, который при получении UDP-пакета сохраняет полученный пакет в одну из двух очередей. Рабочий поток связан с каждой очередью, и связанный поток получает пакет из начала очереди, обрабатывает его и записывает в систему...
670 просмотров
schedule 18.06.2023

подсчитать количество uv_async_send(), которые были объединены в один обратный вызов
Из документации libuv: http://docs.libuv.org/en/v1.x/async.html?highlight=uv_async_t Предупреждение: libuv будет объединять вызовы uv_async_send(), то есть не каждый вызов приведет к выполнению обратного вызова, единственная гарантия состоит в...
182 просмотров
schedule 13.03.2023

Вызов функции C без обязательных параметров
Я просматривал этот исходный код, предоставленный разработчиками библиотеки под названием libuv. В некоторых примерах кода они передают функцию в качестве параметра для другой функции, но ни один из необходимых параметров не передается. Как...
210 просмотров
schedule 18.06.2022

Почему node.js + mongodb не обеспечивает пропускную способность 100 запросов в секунду для 100 запросов, отправленных за секунду?
Я сохранил node.js на одной машине и mongodb на другой машине. запросы были смесью 70% чтения и 30% записи. Замечено, что при 100 запросах в секунду пропускная способность составляет 60 запросов в секунду, а при 200 запросах в секунду пропускная...
89 просмотров
schedule 22.07.2023

Libuv - несколько TCP-запросов на одном соединении
Используя Libuv, я реализовал TCP-сервер A, который вызывает другой TCP-сервер B. Поскольку сервер A продолжает получать запросы, я отправляю запросы на сервер B, используя одно соединение TCP , установленное между A и B. Учитывая, что Libuv...
888 просмотров
schedule 30.05.2022

Установите libuv на Ubuntu 12.04
Я пытаюсь создать cpp-драйвер с веб-сайта Datastax. У меня убунту 12.04. В инструкции написано добавить ppa:linuxjedi/ppa в репозиторий, чтобы можно было установить libuv. Однако я получаю Package libuv-dev is not available, but is referred to...
4389 просмотров
schedule 02.07.2022

пустельга dnx System.EntryPointNotFoundException: uv_loop_size
Я пытаюсь запустить немодифицированное приложение Web Api, созданное yo aspnet. Я получаю эту ошибку: System.EntryPointNotFoundException: uv_loop_size at (wrapper managed-to-native)...
1233 просмотров
schedule 15.06.2022

Ошибка при запуске веб-приложения ASP на Mac
Я создал веб-приложение в Mac OS и могу его собрать. На dnx web я получаю следующую ошибку: System.DllNotFoundException: libc.dylib at (wrapper managed-to-native) System.IO.KeventWatcher:kqueue () at System.IO.KeventWatcher.GetInstance...
177 просмотров
schedule 05.04.2023

(Как) я должен уничтожить uv_async_t?
После того, как я закончу с uv_async_t , я должен уничтожить его, чтобы избежать утечек, верно? Глядя на документы, кажется, что я должен использовать для этого uv_close() , но для этого требуется uv_handle_t* , а не uv_async_t* . Кроме того,...
507 просмотров
schedule 28.11.2022

библиотека libuv в C: изменить размер пула потоков
Я использую библиотеку четных циклов libuv в своем приложении C. Я также использую утилиту пула потоков libuv, в которой я вызываю uv_queue_work() для выполнения некоторой работы в потоке, предоставленном пулом потоков. У меня есть 2 вопроса в...
252 просмотров
schedule 21.12.2022

Приложение UWP отказывается получать данные в серверной части P2P
Я пытаюсь создать приложение Windows 10 UWP P2P (UDP), написанное на С++, с использованием сетевой библиотеки, написанной на C (пробовал как enet, так и libuv). Проблема в том, что когда приложение ведет себя как клиент, все работает как положено, но...
156 просмотров
schedule 04.02.2023

Убедитесь, что libuv вызывает асинхронный обратный вызов
документация состояний libuv : libuv будет объединять вызовы uv_async_send(), то есть не каждый вызов приведет к выполнению обратного вызова. Например: если uv_async_send() вызывается 5 раз подряд до вызова обратного вызова, обратный вызов...
552 просмотров

Надстройка узла, использующая процесс узла libuv и uv_async_send, не завершается
У меня есть требование вызвать функцию Javascript из надстройки узла. Аддон будет иметь фоновый поток, который работает непрерывно, так что это не совсем классическое требование к асинхронному рабочему, использующему async_queue_work . Я думаю, что...
856 просмотров
schedule 20.08.2022

неопределенная ссылка на `uv_prepare_init' в libuv
Является ли uv_prepare_init устаревшим? В uv.h есть определение функции, но я нигде не смог найти тело функции в файле C. Однако в документации нет ключевого слова, поскольку оно устарело . Есть ли решение заменить uv_prepare_init ? Мне...
166 просмотров
schedule 23.12.2022

Ссылка на libuv. Невозможно использовать версию vsbuild.bat, собственные ссылки компиляции корректны
После успешной сборки libuv для Windows в среде mingw64 у меня возникли проблемы с связыванием libuv.dll / libuv.lib , которые создаются как часть сценария сборки vsbuild.bat . Когда я сам собираю libuv из исходных кодов для создания .dll или...
308 просмотров
schedule 28.04.2024

Чем setImmediate отличается от setTimeout(fn, 0)
Какие именно фазы setImmediate и setTimeout проходят. Не очень хорошо объяснено, через что именно проходят все фазы setImmediate и setTimeout, см. nodeJS guide в разделе «Обзор фаз» говорится, что фаза обратного вызова ввода-вывода отвечает...
348 просмотров
schedule 10.06.2023

распечатать размер пула потоков libuv в узле js 8
Эта ссылка просто указывает, что libuv предоставляет пул потоков, который можно использовать для запуска пользовательского кода и получения уведомлений в потоке цикла. Его размер по умолчанию равен 4, но его можно изменить во время запуска,...
4894 просмотров
schedule 14.05.2022

Android libuv использует необъявленный идентификатор «EPOLL_CLOEXEC»
Я пытаюсь собрать libuv для Android в студии Android cmake и получаю следующие ошибки: ошибка: использование необъявленного идентификатора 'EPOLL_CLOEXEC' предупреждение: неявное объявление функции epoll_pwait [-Wimplicit-function-declaration]...
585 просмотров
schedule 08.07.2022