Я хотел бы узнать больше о том, как работает разрешение сна потока и с чем оно связано, помимо разрешения sleep ().
Я знаю, что это определяется операционной системой, а в Windows обычно 15 мс. Мне не удалось подтвердить это, недавно осмотревшись, но я смутно припоминаю, что эти 15 мс зацикливаются ОС и являются `` глобальными '' для всех потоков, что означает, что вместо 15 мс, которые являются минимальным временем, в течение которого поток может спать, это скорее максимум сна (1). Это правильно? Одинаково ли это для всех операционных систем (по истечении срока действия)?
Я не могу придумать ситуацию, в которой это могло бы иметь значение, но всегда ли происходит ложное пробуждение потока в точке действия этого цикла сна, или это может произойти в любое время?
В синхронизированном блоке ожидающие потоки эффективно спят (1), проверяя блокировку в каждом цикле, или поток, выходящий из блока, мгновенно пробуждает ожидающий поток? Это одинаково для всех операционных систем?
Когда поток notify () - ed после wait (), будет ли он обрабатываться так же, как указано выше, пока он ожидает блокировки, или иначе?
Есть ли другой случай, когда цикл 15 мс имеет значение с точки зрения производительности?