PYTHON condition Monitor

来源:互联网 发布:万网备案域名购买 编辑:程序博客网 时间:2024/03/28 20:58
from collections import dequefrom threading import Thread,ConditionQUEUE = deque()def an_item_is_available():    return bool(QUEUE)def get_an_available_item():    return QUEUE.popleft()def make_an_item_available(item):    QUEUE.append(item)def consume(cv):    cv.acquire()    while not an_item_is_available():        cv.wait()    print 'We got an available item', get_an_available_item()    cv.release()def produce(cv):    cv.acquire()    make_an_item_available('an item to be processed')    cv.notify()    cv.release()def main():    cv = Condition()    Thread(target=consume, args=(cv,)).start()        Thread(target=produce, args=(cv,)).start()if __name__ == '__main__':    main()
0 0
原创粉丝点击