Не думаю, что это неожиданно.Если вы установите неблокирующий режим, recv
не будет блокировать ожидание чего-либо.Другими словами, он будет возвращать, доступны ли данные или нет, и это очень , вероятно, может подорвать ваш ЦП.
Я бы также подумал о том, чтобы немного увеличить время ожидания select
.Нет никакой реальной причины иметь такое маленькое значение, поскольку это также может нагреть процессор.
Я склонен использовать значения как секунда для select
тайм-аута, так как это задержка, которая мне нужна длядругие вещи (например, своевременная обработка сигналов CTRL-BREAK).
Это дает процессу достаточно много времени, не требующего использования процессора, в ожидании доступности данных.Если он станет доступен через меньше , чем за секунду, вы узнаете об этом раньше (select
вернется).