Я занимаюсь некоторыми вопросами о том, как что-то делать через определенный промежуток времени (например, печатать привет мир каждые пять секунд).Повторите что-нибудь через определенный промежуток времени
Я видел разные способы, которыми мы можем это сделать в программе java. мой вопрос в том, как java делает это внутри.
Как только мы запускаем программу java, основная функция запускается в потоке. Но этот поток можно отправить в состояние Runnable в любое время (приостановить выполнение). Поэтому, если бы я указал оператор print в основной функции, как теперь java отслеживает время. что, если программа Java не возобновилась в течение следующих пяти секунд?
Один из способов, которым это может сработать, - это если мы имели в виду «каждые 5 секунд в течение периода времени, в течение которого программа java работает». Так ли это делает JVM?
Предположим, что у меня есть один процессор.
Он просит ОС разбудить его через 5 секунд. – immibis
- это поведение гарантировано? будет ли ОС разбудить его через 5 секунд? – DesirePRG
Нет, ОС не гарантирует разбудить ваш процесс или поток через пять секунд. Единственные ОС, которые на самом деле дают такие гарантии, - это жесткие ОС RealTime: es. Даже мягкий RT гарантирует, что вы просыпаетесь ровно через пять секунд. –