Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 5, 2016 20:44:00

ivanzzzz
Зарегистрирован: 2016-08-23
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Объясните как работает threading.Condition()

Вот пример работы с Condition, зачем нужны acquire и release? Я понимаю без них не работает, но чтобы было если без них работало?

 # производящий поток
... сгенерировать элемент
condition.acquire()
... добавить данные к ресурсу
condition.notify() # уведомить, что новые данные доступны
condition.release()

 # Поток-потребитель
condition.acquire()
while True:
    ... Получить элемент (item) данных из общего ресурса
    if item:
        break
    condition.wait() # ждать, пока данные не станут доступными
condition.release()
... обработать элемент item

Особенно не понятно почему все тело функции оборачивается в
acquire и release
.

Офлайн

#2 Дек. 5, 2016 21:30:44

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Объясните как работает threading.Condition()

Ты прикалываешь чтоль?

У тя есть “c:\Python27\Doc\python2711.chm ” или чтото подобное. Там весьма подробно все описано.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version