蒹葭苍苍,白露为霜。
所谓伊人,在水一方。

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

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

代码说明:

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

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

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

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

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

      其他不管

代码截图:

 

 

结果分析:

 

 

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

 

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

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

 

 

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

 

 

 

003 获得线程名称

 

 

threading.current_thread().name

代码改进

 

 

结果

 

 

 

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

之前构造线程用的是

 

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

 

 

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

 

 

(2)该类说明

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

(1)   构造函数:

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

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

                         再执行指定函数

                          参数赋值

 

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

 

(3)整体代码

 

结果

 

 

赞(0) 打赏
未经允许不得转载:酷居科技 » Python - python并行编程 多线程之——threading模块(开发中推荐)-42

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

锦瑟无端五十弦,一弦一柱思华年

酷居科技联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏