zoukankan      html  css  js  c++  java
  • python多线程之线程传参

     1 '''
     2 问题:需要传参怎么办?
     3 例如,希望给每个线程打印的时候休眠时间不一样,打印次数不一样
     4 例如,给每个线程指定一个名称,或者id
     5 1、重写构造方法,把传入的参数作为成员变量
     6 2、别忘了调用父类的构造方法
     7 '''
     8 
     9 # encoding: utf-8
    10 
    11 import threading
    12 import time
    13 
    14 class MyThread(threading.Thread):
    15     # 重写的__init__会覆盖父类的__init__,需要在创建子类之前调用父类的构造方法来创建一个父类对象,在父类对象的基础上再追加一
    16     # 些属性。比如这里的self.step = step
    17     # 调用父类的构造方法
    18     def __init__(self, step, times):
    19         threading.Thread.__init__(self)
    20         self.step = step   # 成员变量,可以在不同的类方法之间使用
    21         self.times = times
    22 
    23     def run(self):  # run方法前面的圈圈可以看出是复写了线程原本的run方法
    24         for i in range(self.times):
    25             print(self.name)  # 线程的名称可以直接写self.name(父类的构造方法中定义好的成员变量),调用主线程的时候会有线程名称
    26             time.sleep(self.step)
    27 
    28 print('主线程开始啦!')
    29 th1 = MyThread(step=0.3, times=8)
    30 th2 = MyThread(0.6, times=6)
    31 th3 = MyThread(0.2, times=1)
    32 
    33 th1.start()
    34 th2.start()
    35 th3.start()
    36 
    37 th1.join()
    38 th2.join()
    39 th3.join()
    40 print("主线程结束啦!")
  • 相关阅读:
    文字上下滚动效果
    导航点击变化
    腾讯新闻导航栏
    Docker 数据卷和DockerFile
    Docker 容器
    Docker 镜像
    Docker的初始和架构
    面向对象的设计模式与原则
    安装CentOS 7MInimal版本
    ASP.NET WebApi 启动默认的HelpPage文档注释
  • 原文地址:https://www.cnblogs.com/annatest/p/13356884.html
Copyright © 2011-2022 走看看