I have a very specific question.
- How does blocking I/O operation e.g. recvfrom() call work in a
multithreaded application? - How does the OS schedule a thread that has blocking syscalls?
- Would the OS schedule the thread when the blocking system call is executed (e.g. similar to busy wait?) or would the OS only schedule the thread once the syscall has returned?
- Would that cause an interrupt to the executing the thread (If that is the case would it worthwhile to code the critical sections of the other threads within a mutex or some sort of atomic operations?)
Please, let me know your thoughts.
Regards,
Aucun commentaire:
Enregistrer un commentaire