Python предоставляет 4 different synchronizing mechanisms в потоковом модуле: событие/состояние/замок (RLock)/семафор.Когда использовать событие/условие/блокировку/семафор в потоковом модуле python?
Я понимаю, что они могут использоваться для синхронизации доступа разделяемых ресурсов/критических разделов между потоками. Но я не совсем уверен, когда использовать.
Можно ли использовать их взаимозаменяемо? Или некоторые из них «более высокого уровня», используя других в качестве строительных блоков? Если да, то какие из них построены?
Было бы здорово, если бы кто-нибудь мог проиллюстрировать некоторые примеры.
Я думаю, что этот вопрос немного широк, но чтобы ответить на его часть: 'Условие' построено поверх' Lock', а 'Event' и' Semaphore' построены поверх 'Condition'. – dano