Я хочу написать блок кода, где я хочу, чтобы мой поток спал, скажем, 10 минут. Я могу сделать это через Thread.sleep()
.Сон, но освобождение блокировки
Но я хочу освободить приобретенный замок. Так может использоваться и другой поток. В этой ситуации я могу использовать object.wait()
. Но я не могу, так как другой поток, который получает блокировку, делает notify()
после обработки. Так что мой поток снова проснулся, может быть до 10 минут.
Мне нужен точный сон 10 минут, а также я не хочу держать замок. Так что другие потоки могут использовать его.
Пожалуйста, помогите. Спасибо
освободите замок/сна/закройте замок? – assylias
reacquire lock только после сна ожидаемого времени (скажем, 10 мин). Если какой-либо другой поток вызывает уведомления, то также я не хочу, чтобы спальный поток просыпался до истечения 10 минут. –
В принципе я не буду ждать и отпускать замок. Но просыпаться ony после истечения времени сна не имеет значения, если другие потоки называют уведомлять. –