Оператор with - отличный способ реализовать блокировку, поскольку блокировка - это идеальный шаблон получения ресурсов. Хотя ваш текущий пример не сработает, вам понадобится оператор if вокруг оператора with в someElse ().
ый вопрос, надеюсь ...
Я пытаюсь сделать некоторые общие блокировки с помощью операторов
def someMethod(self, hasLock = False):
with self.my_lock:
self.somethingElse(hasLock=True)
def somethingElse(self, hasLock = False):
#I want this to be conditional...
with self.my_lock:
print 'i hate hello worlds"
Это имеет смысл? Я в основном только хочу сделать с IF *, у меня еще нет блокировки ..
Вдобавок к возможности достичь этого, это плохой дизайн? Должен ли я просто приобрести / освободить себя?
Это похоже на один из тех пердящих мозговых вопросов ...