Волокна должны иметь меньшие накладные расходы при создании и переключении контекста, чем потоки ОС. Таким образом, теоретически, если у вас есть решение, где у вас много блокировок на блокировках, вы можете увидеть улучшение производительности от волокон, потому что потоки ОС, на которых работают волокна, будут использовать больше выделенного времени выполнения. Это происходит потому, что, когда волокно блокирует мьютекс / блокировку волокна, основной поток ОС вызовет планировщик волокна, который будет запускать другое волокно, и все это без переключения контекста потока ОС. Это основная идея потоковых моделей M: N.
Другой случай, если вам нужно создавать и уничтожать потоки с большой частотой или в большом количестве. Поскольку волокна создаются быстрее и, как правило, более легкие, чем потоки ОС, их можно использовать в гораздо больших количествах и для более тонкого параллелизма (в теории).
Одним из практических приложений является моделирование на основе большого агента с использованием модели актера. С волокнами каждый агент / субъект может работать на своем собственном волокне.