在Linux中,如果创建了两个线程并且它们都在运行,当其中一个调用
有什么想法吗?
recv()
或任何IO系统调用时,如果没有数据可用,则整个进程会发生什么情况?
另一个线程会被阻塞吗?我想这取决于线程是如何实现的。如果线程库在用户空间中,内核完全不知道进程中的线程,则进程是调度实体,因此两个线程都会被阻塞。
此外,如果另一个线程由于此原因而不被阻塞,它是否可以通过同一套接字发送数据,该套接字正在阻塞recv
线程?全双工?有什么想法吗?