zoukankan      html  css  js  c++  java
  • Python并发编程—自定义线程类

    自定义线程类

    1.创建步骤
    【1】 继承Thread类
    【2】 重写__init__方法添加自己的属性,使用super加载父类属性
    【3】 重写run方法

    2.使用方法
    【1】 实例化对象
    【2】 调用start自动执行run方法
    【3】 调用join回收线程

     1 from threading import Thread
     2 from time import sleep, ctime
     3 
     4 
     5 class MyThread(Thread):
     6   def __init__(self, target=None,
     7                args=(), kwargs={}):
     8     super().__init__()
     9     self.target = target
    10     self.args = args
    11     self.kwargs = kwargs
    12 
    13   def run(self):
    14     self.target(*self.args, **self.kwargs)
    15 
    16 # ***************************
    17 # 通过完成上面的MyThread使程序正常运行
    18 # 通过下面程序可以让player作为线程运行
    19 # player只是测试函数,名称和参数均不确定
    20 # ***************************
    21 
    22 
    23 def player(sec, song):
    24   for i in range(3):
    25     print("Playing %s : %s" % (song, ctime()))
    26     sleep(sec)
    27 
    28 t = MyThread(target=player, args=(3,),
    29              kwargs={'song': '凉凉'})
    30 t.start()
    31 t.join()
    32 
    33 # Playing 凉凉 : Wed Jun 26 20:07:58 2019
    34 # Playing 凉凉 : Wed Jun 26 20:08:01 2019
    35 # Playing 凉凉 : Wed Jun 26 20:08:04 2019
    36 # 循环
    自定义线程类练习
  • 相关阅读:
    JDBC连接效率问题
    如何配置Filter过滤器处理JSP中文乱码(转)
    Servlet生命周期与工作原理(转)
    ANR触发原理
    SystemServer概述
    Zygote总结
    ART、JIT、AOT、Dalvik之间有什么关系?
    谈谈android缓存文件
    Activity启动过程全解析
    tombstone问题分析
  • 原文地址:https://www.cnblogs.com/maplethefox/p/10989201.html
Copyright © 2011-2022 走看看