Вместо «Условие» изначально делали «Ожидание условия». Получается что процесс ждёт и не переходит к другим, а нам как бы надо чтобы он не ждал, а проверял и все остальные «ожидания условий» и потом просто возвращался к первым
так распараллельте процесс прокси-блоками. И пусть один процесс ждёт все 40 уроков