libuv
libuv (Unicorn Velociraptor Library[4]) — багато-платформова C-бібліотека, що забезпечує підтримку асинхронний ввід/вивід на основі цикла події. Вона підтримує epoll(4)
, kqueue(2)
, Windows IOCP та Sun Solaris event port. Бібліотека передусім спроектована для використання в Node.js, але застосовується також в інших програмних продуктах.[5] Спочатку це була абстракція навколо libev або Microsoft IOCP, оскільки libev підтримувала тільки select(2)
і не підтримувала poll(2)
та IOCP у Windows. У версії node-v0.9.0 libuv залежність но libev була вилучена.[6]
| |
Тип | бібліотека абстракції вводу/виводу |
---|---|
Стабільний випуск | 1.29.1 (21 травня 2019[1]) |
Версії | 1.43.0 (5 січня 2022)[2] |
Репозиторій | github.com/libuv/libuv |
Платформа | Linux, Android, Windows та OS X/Darwin,[3] FreeBSD, OpenBSD |
Операційна система | крос-платформова |
Мова програмування | C |
Ліцензія | MIT |
Вебсайт | libuv.org |
Особливості
Особливості libuv включають[3]
- Повноцінний цикл події, підтверджений epoll, kqueue, IOCP, event ports
- Асинхронні TCP та UDP сокети
- Асинхронні DNS запити
- Асинхронні файлові операції та операції з файловою системою
- Події файлової системи
- ANSI escape code під управлінням TTY
- IPC з поділом сокетів, використовуючи Unix domain socket або іменовані потоки (Windows)
- Породжені процеси
- Пул нитей
- Обробка сигналів
- Високоточний таймер
- Примітиви нитей та синхронізації
Виноски
- The libuv github releases. GitHub. Процитовано 15 квітня 2019.
- Release v1.43.0
- The libuv project page and source code. GitHub. Процитовано 30 червня 2016.
- Welcome to the libuv documentation — libuv documentation. docs.libuv.org (англ.). Процитовано 24 липня 2017.
- Projects that use libuv. libuv GitHub project page. Процитовано 30 червня 2016.
- An introduction to libuv
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.