Замки Mutex против замков Threading. Какой использовать? - PullRequest
7 голосов
/ 23 июля 2010

Мой главный вопрос - создает ли объект блокировки Threading атомные блокировки?Это не говорит о том, что блокировка является атомарной в документации модуля.в документации мьютекса pythons действительно говорится, что блокировка mutex является атомарной, но кажется, что я где-то читал, что фактически это не такМне интересно, если кто-то мог бы дать мне немного понимания этой материи.Какой замок я должен использовать.В настоящее время я запускаю свои скрипты, используя python 2.4

1 Ответ

13 голосов
/ 23 июля 2010

Блокировки любой природы были бы довольно бесполезны, если бы они не были атомарными - весь смысл блокировки состоит в том, чтобы допускать атомарные операции более высокого уровня.

Все объекты синхронизации потоков (блокировки, блокировки, семафоры, ограниченные семафоры) используют атомарные инструкции, как и мьютексы.

Вы должны использовать threading, поскольку mutex фактически устарела в будущем (и удалена в Python 3).

...