python多线程下载编程_42 Python - python并行编程 多线程之——threading模块(开发中推荐)...

1707346-20190710175858115-688436527.png

001 例子1:子线程统一执行

代码说明:

声明数组存放线程实例,目的是子线程统一执行开始

threading.Thread()方法的参数说明:

第一个参数group默认为空,无实际意义,为后来版本预留位置

第二个参数target,表示当前线程执行哪个函数

第三个参数args:第二个参数里面函数的是否需要传入参数

其他不管

代码截图:

1707346-20190710180057842-1646500295.png

结果分析:

1707346-20190710180119174-2118875546.png

主函数先于子线程完成,问题原因是:主函数的主线程没有跟子线程同步

002 例子改进:主线程最后结束

解决办法,子线程启动之后,发出一个信号给主线程,即用join方法告诉主线程等待子线程的执行完毕后再完毕

1707346-20190710180136148-1725629623.png

改进结果:符合预期效果(主线程最后结束)

1707346-20190710180150188-691123441.png

003 获得线程名称

1707346-20190710180214213-1618365214.png

threading.current_thread().name

代码改进

1707346-20190710180224474-1739054056.png

结果

1707346-20190710180234338-818944733.png

004 构造线程其他方法:自定义类

之前构造线程用的是

1707346-20190710180252067-479286907.png

现在使用Thread类的派生类实现多线程。自定义类好处是很多复杂逻辑自己封装到自定义类中,解耦合

1707346-20190710180301704-1773233252.png

(1)例子:自定义类代码如下

1707346-20190710180349912-1307436566.png

(2)该类说明

自己定义一个类 需要继承一个基类threading下面的Thread类,该定义的类需要完成构造函数和run函数

(1) 构造函数:

构造函数参数:需要指定执行函数 指定执行函数参数

1707346-20190710180711710-1362146052.png

构造函数语句:先执行基类thread的构造函数

1707346-20190710180726854-2112644583.png

再执行指定函数

1707346-20190710180741534-764847670.png

参数赋值

1707346-20190710180847380-1343463998.png

(2)run函数需要定义,覆盖掉基类的run函数

(3)整体代码

1707346-20190710180910793-832839681.png

1707346-20190710180954297-1357554724.png

结果

1707346-20190710181030330-1315907244.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值