Вы не даете большого контекста тому, что вы действительно делаете, но, возможно, Queue
можно было бы использовать вместо явного цикла занятости-ожидания? Если нет, я бы предположил, что sleep
будет предпочтительнее, так как я считаю, что он будет потреблять меньше ресурсов процессора (как уже отмечали другие).
[Отредактировано в соответствии с дополнительной информацией в комментарии ниже.]
Может быть, это очевидно, но в любом случае, то, что вы могли бы сделать в случае, когда вы читаете информацию из блокирующих сокетов, - это прочитать один поток из сокета и отправить сообщения с соответствующим форматированием в Queue
и затем прочитайте остальные ваши «рабочие» потоки из этой очереди; рабочие будут блокировать чтение из очереди без необходимости ни pass
, ни sleep
.