Is there any use in using the select() function ?
From my (small) experience I tend to believe that threads are enough.
So I wonder, is select() just a didactic tool for people who don’t yet know threads ?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Consider the following example. You have a moderately busy web server with something like 100K connections. You’re not using
selector anything like it so you have one thread per connection, implying 100K threads which quickly becomes a problem.Even if you tweak your system until it allows such a monstrosity, most of the threads will just wait on a socket. Wouldn’t it be better if there was a mechanism to notify you when a socket becomes interesting ?
Put another way, threading and
select-like mechanisms are complementary. You just can’t usethreadsto replace the simple thingselectdoes: monitoring file descriptors.