zoukankan      html  css  js  c++  java
  • 继承threading.Thread创建线程

    • Python中,通过继承类threading.Thread的方式来创建一个线程。这种方法只要重threading.Thread中的方法run(),然后再调用方法start()就能创建线程,并运行方法run()中的代码。

    •  1 import threading
       2 import time
       3 def fun1(delay):
       4     print('线程{0}开始运行fun1'.format(threading.current_thread().getName()))
       5     time.sleep(delay)
       6     print('线程{0}运行fun1结束'.format(threading.current_thread().getName()))
       7 def fun2(delay):
       8     print('线程{0}开始运行fun2'.format(threading.current_thread().getName()))
       9     time.sleep(2)
      10     print('线程{0}运行fun2结束'.format(threading.current_thread().getName()))
      11 #创建线程类继承threading.Thread
      12 class MyThread(threading.Thread):
      13     #重写父类的构造方法,其中func是线程函数,args是传入线程的参数,name是线程名
      14     def __init__(self,func,name,args):
      15         super().__init__(target=func,name=name,args=args)
      16     #重写父类的run()方法
      17     def run(self):
      18         self._target(*self._args)
      19 
      20 if __name__=='__main__':
      21     print('开始运行')
      22     #创建线程
      23     t1 = MyThread(fun1,'thread-1',(2,))
      24     t2 = MyThread(fun2,'thread-2',(4,))
      25     t1.start()
      26     t2.start()
      27     t1.join()
      28     t2.join()
      1 开始运行
      2 线程thread-1开始运行fun1
      3 线程thread-2开始运行fun2
      4 线程thread-1运行fun1结束
      5 线程thread-2运行fun2结束
    正是江南好风景
  • 相关阅读:
    go时间和日期转换
    go操作mysql
    Python常见错误处理
    C++ 常见问题
    CF605E Intergalaxy Trips
    均分纸牌详解
    P4447 [AHOI2018初中组]分组
    P4537 [CQOI2007]矩形
    P4823 [TJOI2013]拯救小矮人
    P5132 Cozy Glow之拯救小马国
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/12682568.html
Copyright © 2011-2022 走看看