Информация об изменениях

Сообщение Re: Multithreading: как очередь, но вручную и красиво? от 15.01.2026 10:30

Изменено 15.01.2026 10:34 Pavel Dvorkin

Re: Multithreading: как очередь, но вручную и красиво?
Здравствуйте, 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

и никакие таймауты не нужны.

Или я что-то не понял ?
Re: Multithreading: как очередь, но вручную и красиво?
Здравствуйте, 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

Или я что-то не понял ?