Multithreading socket.connect()是否阻止其他线程?
如果我在不同的线程中发出多个socket.connect(),单个socket.connect()会使当前线程等待ACK响应,还是同时另一个线程能够发出socket.connect()?这两个选项“当前线程等待ACK”和“另一个线程能够连接”它们不是相互排斥的。两者都是正确的。这就是线程的全部要点,一个线程可以继续,而另一个线程被阻塞。是的,但我更喜欢使用Multithreading socket.connect()是否阻止其他线程?,multithreading,python-2.6,asyncsocket,Multithreading,Python 2.6,Asyncsocket,如果我在不同的线程中发出多个socket.connect(),单个socket.connect()会使当前线程等待ACK响应,还是同时另一个线程能够发出socket.connect()?这两个选项“当前线程等待ACK”和“另一个线程能够连接”它们不是相互排斥的。两者都是正确的。这就是线程的全部要点,一个线程可以继续,而另一个线程被阻塞。是的,但我更喜欢使用socket.connect()调用的线程不会浪费CPU时间等待ACK。我认为需要基于事件的套接字类select()不是事件驱动的,所以它不是
socket.connect()
调用的线程不会浪费CPU时间等待ACK。我认为需要基于事件的套接字类<当使用connect()
时,code>select()不是事件驱动的,所以它不是那么好。当线程被阻塞等待确认时,调度程序不会给它任何时间片。在某个时刻,ACK从网络接收,通过TCP堆栈,然后再次取消阻止线程。没有CPU周期的浪费。+1-@UlrichEckhardt是正确的-没有周期的浪费,连接将并行运行。