"Kqueue" . . . "Kqueue" . . . "Kqueue" . . . . . . . . . "Kqueue is a scalable event notification interface introduced in FreeBSD 4.1 on July 2000, also supported in NetBSD, OpenBSD, DragonFly BSD, and macOS. Kqueue was originally authored in 2000 by Jonathan Lemon, then involved with the FreeBSD Core Team. Kqueue makes it possible for software like nginx to solve the c10k problem. Kqueue provides efficient input and output event pipelines between the kernel and userland. Thus, it is possible to modify event filters as well as receive pending events while using only a single system call to kevent(2) per main event loop iteration. This contrasts with older traditional polling system calls such as poll(2) and select(2) which are less efficient, especially when polling for events on numerous file descriptors. Kqueue not only handles file descriptor events but is also used for various other notifications such as file modification monitoring, signals, asynchronous I/O events (AIO), child process state change monitoring, and timers which support nanosecond resolution, furthermore kqueue provides a way to use user-defined events in addition to the ones provided by the kernel. Some other operating systems which traditionally only supported select(2) and poll(2) also currently provide more efficient polling alternatives, such as epoll on Linux and I/O completion ports on Windows and Solaris. libkqueue is a user space implementation of kqueue(2), which translates calls to an operating system's native backend event mechanism." . . . . . . . . . "kqueue \u662F\u4E00\u79CD\u53EF\u6269\u5C55\u7684\u4E8B\u4EF6\u901A\u77E5\u63A5\u53E3\u30022000 \u5E74 7 \u6708\u53D1\u5E03\u7684 FreeBSD 4.1 \u4E2D\u9996\u6B21\u5F15\u5165\u4E86 kqueue\uFF0C\u968F\u540E\u4E5F\u88AB NetBSD\u3001OpenBSD\u3001macOS \u7B49\u64CD\u4F5C\u7CFB\u7EDF\u652F\u6301\u3002 kqueue \u5728\u5185\u6838\u4E0E\u7528\u6237\u7A7A\u95F4\u4E4B\u95F4\u5145\u5F53\u8F93\u5165\u8F93\u51FA\u4E8B\u4EF6\u7684\u7BA1\u7EBF\u3002\u56E0\u6B64\u5728\u4E8B\u4EF6\u5FAA\u73AF\u7684\u8FED\u4EE3\u4E2D\uFF0C\u8FDB\u884C\u4E00\u6B21 kevent(2) \u7CFB\u7EDF\u8C03\u7528\u4E0D\u4EC5\u53EF\u4EE5\u63A5\u6536\u672A\u51B3\u4E8B\u4EF6\uFF0C\u8FD8\u53EF\u4EE5\u4FEE\u6539\u4E8B\u4EF6\u8FC7\u6EE4\u5668\u3002" . . . . . . . . . . . . . . . . . . . . . . . . . "kqueue \u2014 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043C\u044B\u0439 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u0445. \u0412\u043F\u0435\u0440\u0432\u044B\u0435 \u043F\u043E\u044F\u0432\u0438\u043B\u0441\u044F \u0432\u043E FreeBSD 4.1, \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 NetBSD, OpenBSD, DragonflyBSD, \u0438 Mac OS X. Kqueue \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C \u043E\u043F\u0435\u0440\u0430\u0442\u0438\u0432\u043D\u043E \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u0445 \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0435." . . . . . . . . . . . . . . . . . "23655391"^^ . . . . . . . . "6447"^^ . . . . . . . . "984638538"^^ . . . . . . . . . . . "kqueue \u662F\u4E00\u79CD\u53EF\u6269\u5C55\u7684\u4E8B\u4EF6\u901A\u77E5\u63A5\u53E3\u30022000 \u5E74 7 \u6708\u53D1\u5E03\u7684 FreeBSD 4.1 \u4E2D\u9996\u6B21\u5F15\u5165\u4E86 kqueue\uFF0C\u968F\u540E\u4E5F\u88AB NetBSD\u3001OpenBSD\u3001macOS \u7B49\u64CD\u4F5C\u7CFB\u7EDF\u652F\u6301\u3002 kqueue \u5728\u5185\u6838\u4E0E\u7528\u6237\u7A7A\u95F4\u4E4B\u95F4\u5145\u5F53\u8F93\u5165\u8F93\u51FA\u4E8B\u4EF6\u7684\u7BA1\u7EBF\u3002\u56E0\u6B64\u5728\u4E8B\u4EF6\u5FAA\u73AF\u7684\u8FED\u4EE3\u4E2D\uFF0C\u8FDB\u884C\u4E00\u6B21 kevent(2) \u7CFB\u7EDF\u8C03\u7528\u4E0D\u4EC5\u53EF\u4EE5\u63A5\u6536\u672A\u51B3\u4E8B\u4EF6\uFF0C\u8FD8\u53EF\u4EE5\u4FEE\u6539\u4E8B\u4EF6\u8FC7\u6EE4\u5668\u3002" . . "Kqueue is a scalable event notification interface introduced in FreeBSD 4.1 on July 2000, also supported in NetBSD, OpenBSD, DragonFly BSD, and macOS. Kqueue was originally authored in 2000 by Jonathan Lemon, then involved with the FreeBSD Core Team. Kqueue makes it possible for software like nginx to solve the c10k problem. Some other operating systems which traditionally only supported select(2) and poll(2) also currently provide more efficient polling alternatives, such as epoll on Linux and I/O completion ports on Windows and Solaris." . . . "kqueue \u2014 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043C\u044B\u0439 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u0445. \u0412\u043F\u0435\u0440\u0432\u044B\u0435 \u043F\u043E\u044F\u0432\u0438\u043B\u0441\u044F \u0432\u043E FreeBSD 4.1, \u0442\u0430\u043A\u0436\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 NetBSD, OpenBSD, DragonflyBSD, \u0438 Mac OS X. Kqueue \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C \u043E\u043F\u0435\u0440\u0430\u0442\u0438\u0432\u043D\u043E \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u0445 \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0435." . . . . . . . . . . .