Блокировки любой природы были бы довольно бесполезны, если бы они не были атомарными - весь смысл блокировки состоит в том, чтобы допускать атомарные операции более высокого уровня.
Все объекты синхронизации потоков (блокировки, блокировки, семафоры, ограниченные семафоры) используют атомарные инструкции, как и мьютексы.
Вы должны использовать threading
, поскольку mutex
фактически устарела в будущем (и удалена в Python 3).