Является ли операция вроде x,y = self.mytuple
атомарной в Python?Действительно ли Python распаковывает потоки?
Или может self.mytuple
быть изменен другим потоком во время назначения, что приведет к х, относящемуся к первой версии self.mytuple, и y ко второй версии?
Я использую Python 3.
Правило большого пальца: * Ничто * не является потокобезопасным, за исключением блокировки одного из встроенных замков (т. Е. Если вам нужна безопасность потока, заблокируйте себя). Это правило имеет преимущество в том, чтобы оставаться верным в других реализациях Python (и других версиях тех, которые вы знаете), и когда утиная печать приводит к тому, что пользовательский класс используется там, где вы ожидаете встроенный. – delnan