Краткое требование: иметь возможность создавать контекст коротина, который будет выполняться только в одном потоке (например, без параллелизма).
Дополнительное требование: для этих целей лучше использовать существующий CommonPool (например, пул потоков).tasks
На самом деле сопрограммы kotlin имеют метод newSingleThreadContext
, который создаст отдельный поток и запланирует в нем все задачи.Однако это выделенный поток, поэтому ~ 1000 таких контекстов потребуют много ресурсов.
Поэтому я хотел бы иметь контекст со следующими характеристиками:
- Максимум одинзадача может быть выполнена одновременно
- Этот контекст должен повторно использовать любой другой (например, родительский контекст).Например, контекст не должен содержать никаких дополнительных потоков