Я нахожусь в ситуации, когда мне нужно синхронизировать задачи Trio с потоками Python.В настоящее время я использую threading.Lock
объекты, которые задачи Трио должны получить с помощью trio.run_sync_in_worker_thread(lock.acquire)
.
. Я думаю, что также должно быть возможно использовать trio. Lock
блокировки, и потоки получат их с помощью * 1006.*.
Обладает ли одно из этих решений преимуществами перед другим?
В принципе можно ли добиться большего успеха, чем это?Например, чтобы реализовать «родной» метод трио, который ожидает threading.Lock
без необходимости отдельного рабочего потока, или есть фундаментальные причины, почему это требуется?