Собственно, зачастую проекты при многопоточной архитектуре используют разные lock методы, которые блокируются и ждут пока другой поток освободит это место, так? Чтобы выполняться дальше
Собственно, а почему бы не реализовать архитектуру так чтобы задачи добавлялись в какой нибудь queue в порядке поступления и вместо того чтоб ждать пока другой поток освободит место - продолжить выполнять другой код, а эту задачу отложить
Собственно, а почему бы не реализовать архитектуру так чтобы задачи добавлялись в какой нибудь queue в порядке поступления и вместо того чтоб ждать пока другой поток освободит место - продолжить выполнять другой код, а эту задачу отложить
Если у всех задач одинаковый приоритет, можно так. Но вставку в очерель нужно синхронизировать
Но тут есть одно но, не все задачи хотят выполняться в произвольном порядке, в таком случае, почему бы не создать несколько queue, где будут задачи, которые должны выполняться последовательно, а в другом контейнере без разницы
Собственно, а почему бы не реализовать архитектуру так чтобы задачи добавлялись в какой нибудь queue в порядке поступления и вместо того чтоб ждать пока другой поток освободит место - продолжить выполнять другой код, а эту задачу отложить