From 0ea7e8a973f867892f835a207f99f89441df72fd Mon Sep 17 00:00:00 2001 From: JawherKl Date: Tue, 25 Mar 2025 17:57:11 +0100 Subject: [PATCH] Improve select content with many resource. --- .../content/select@5-5toy2CblZPCV9d5QPEo.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/data/roadmaps/server-side-game-developer/content/select@5-5toy2CblZPCV9d5QPEo.md b/src/data/roadmaps/server-side-game-developer/content/select@5-5toy2CblZPCV9d5QPEo.md index e69de29bb..eaa2d32a0 100644 --- a/src/data/roadmaps/server-side-game-developer/content/select@5-5toy2CblZPCV9d5QPEo.md +++ b/src/data/roadmaps/server-side-game-developer/content/select@5-5toy2CblZPCV9d5QPEo.md @@ -0,0 +1,13 @@ +# select + +**select** is a multiplexing system call in Linux used for monitoring multiple file descriptors +to check if they are ready for I/O operations. It is commonly used in server-side game +development for handling multiple connections asynchronously. However, `select` has +limitations, as it scans all file descriptors linearly, making it inefficient for handling +a large number of concurrent connections. Despite its drawbacks, it remains useful for +simpler applications or legacy systems. Modern alternatives like `epoll` or `kqueue` offer +better performance and scalability. + +Resources: +- [@documentation@Linux select API](https://man7.org/linux/man-pages/man2/select.2.html) +- [@article@select vs epoll vs poll](https://devarea.com/linux-io-multiplexing-select-vs-poll-vs-epoll/) \ No newline at end of file