linux select多线程使用问题

1.linux 两个线程 select同一个socket句柄,监控该句柄的可读状态,内核会怎么处理?可读时会内核会先唤醒队列里的其中一个线程处理,如果该线程读了,是否就不会唤醒余下的线程?这样看在进程调度的过程中很有可能会引起惊群效应。
2.linux 两个线程 分别select不同的socket句柄,监控句柄的可读状态,内核会怎么处理?如果线程1的max_fd=3,线程2的max_fd=4。当fd=4可读时,应该不会有问题。当fd=3可读时,是否就会导致内核可能先会唤醒线程2?
3.正确做法是否就是所有的select都应该在一个线程上执行?

https://blog.csdn.net/u012398613/article/details/50725558