当年给学生讲Python多线程时候自己的总结:线程的函数式和继承式两种实现

Python 多线程 (一) 使用线程的两种方式: 1.函数式:调用thread模块中的start_new_thread()函数来产生新线程 thread.start_new_theard(function,args[,kwargs]) 或者threading.Thread(target=func,args=(1,)) (点到面到体系:我想,这个thread内部应该是类似继承自type类的,这样才可以创建类,然后生成线程。) 2.继承式:MyThread(threading.Thread) 调用父类的构造方法|重写run方法|执行start方法启动线程:(必定有run=target这样的方式,或者run方法内部有这样的方式,从而调用target方法) python的线程模块: (二) 需要了解两个标准库:1.thread 2.threading提供线程支持。 1.thread 提供低级别,原始的线程以及一个简单的锁 2.threading模块提供对线程的操作。 (三) 线程相关的join()和setDaemon(True)方法 1)线程的join方法,是让线程加入主干,主线程阻塞,直到本线程执行完后,主线程再执行。 2)setDaemon(True)--keyword:线程守护模式。如果在线程调用start方法之前调用的主这个方法时|如果主线程在子线程之前执行完毕的话,就算子线程没有执行完,只要主线程退出,那么子线程也立即退出。 如果没有设置守护模式,那么主进程会一直等待所有子线程执行完后主线程才退出。 【好多年不用Python系列】
posted @ 2018-04-04 14:56  2458697069  阅读(672)  评论(0编辑  收藏  举报