0
Если я выдаю несколько socket.connect() в разных потоках - будет ли единственный socket.connect() заставить текущий поток ждать ответа ACK, или, тем временем, другой поток сможет выпустить socket.connect()?socket.connect() блокирует другие потоки?
Да, но я предпочитаю, чтобы поток с вызовом 'socket.connect()' не будет тратить процессорное время на ожидание ACK. Я думаю, что существует необходимость в классе сокетов, основанных на событиях. 'select()' не управляется событием при использовании 'connect()', так что это не так хорошо – Dor
Пока поток заблокирован в ожидании ACK, планировщик не даст ему никакого временного фрагмента. В какой-то момент ACK принимается из сети, проходит через стек TCP, а затем снова блокирует поток. Нет никакой платы за процессорные циклы. –
+1 - @UlrichEckhardt прав - никаких циклов впустую, а соединения будут работать параллельно. –