Пишу игрушечный локер на Rust
Думаю вот как лучше распараллелить шифрование файлов
На данный момент реализация следующая:
Есть общая булевая переменная "throttling"
Есть поток, который в бесконечном цикле смотрит загрузку памяти, цп и диска, в случае чего меняя состояние вышеуказанной переменной
Есть поток, который берет таргет из очереди и в случае, если "throttling=false", пушит его в threadpool, иначе цикл с таймаутом
Это работает, но есть стойкое ощущение соплей
Как бы вы решили эту задачу?
Может кто-то знает публичные репозитории с реализацией многопоточного шифрования(тулзы или сходники тех же локеров)?
Думаю вот как лучше распараллелить шифрование файлов
На данный момент реализация следующая:
Есть общая булевая переменная "throttling"
Есть поток, который в бесконечном цикле смотрит загрузку памяти, цп и диска, в случае чего меняя состояние вышеуказанной переменной
Есть поток, который берет таргет из очереди и в случае, если "throttling=false", пушит его в threadpool, иначе цикл с таймаутом
Это работает, но есть стойкое ощущение соплей
Как бы вы решили эту задачу?
Может кто-то знает публичные репозитории с реализацией многопоточного шифрования(тулзы или сходники тех же локеров)?