Здравствуйте, netch80, Вы писали:
N>Можно было бы просто перевести на очередь. Но бывает, что при этом ещё и какие-то элементы статуса отдаются обратно, или воздействие от управляющего метода более сложное. И если может быть поставлено не более одного задания, то делать это в виде очереди, ограниченной одним элементом, тоже как-то странно. Ещё бывают собственные idle операции, а ждать чтения из очереди с таймаутом не всегда возможно.
А чем не устраивает блокируемая очередь или блокируемый дек (если надо отдавать обратно)
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingDeque.html
и никакие таймауты не нужны.
В Питоне не силен, но и там она вроде есть
https://codechick.io/tutorials/python/python-thread-safe-queue
Или я что-то не понял ?