生产者消费者问题(Producer-consumer problem),,也称有限缓冲问题(Bounded-buffer problem),是一个多线程同步问题的经典案例。
使用pyhon 的threading模块描述该问题,将线程函数变为从threading.Thread继承的子类,在run()方法中实现线程的功能。
主要收获有:
-
run()和start()的关系,启动线程需要显式调用start(),当线程被执行时它调用run()方法。为灵活控制线程,一般在 threading.Thread的子类中重载run()方法。如果没有重载run(),threading.Thread的run()方法自动调用 target函数,但是如果重载了run(),那么run()不再自动执行target函数。
-
threading.Thread 没有提供中止退出线程的方法,通常用下面模型中止线程执行:
留下评论