zoukankan      html  css  js  c++  java
  • python多线程之循环,调用函数等

     1 '''
     2 线程中可以循环,可以调用函数,可以做复杂的事情
     3 '''
     4 # encoding: utf-8
     5 
     6 import threading
     7 import time
     8 
     9 
    10 def print_time(thread_name, step):
    11     # python的time.ctime()函数把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。
    12     # 如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于asctime(localtime(secs))。
    13     print(thread_name, ':', time.ctime(time.time()))
    14     time.sleep(step)
    15 
    16     '''
    17     1、如果子类(Puple)继承父类(Person)不做初始化,那么会自动继承父类(Person)属性name。
    18     2、如果子类(Puple_Init)继承父类(Person)做了初始化,且不调用super初始化父类构造函数,那么子类(Puple_Init)不会自动继承父类的属性(name)。
    19     3、如果子类(Puple_super)继承父类(Person)做了初始化,且调用了super初始化了父类的构造函数,那么子类(Puple_Super)也会继承父类的(name)属性
    20     '''
    21 
    22 
    23 class MyThread(threading.Thread):
    24     # 子类的构造函数必须先调用其父类的构造函数,重写run()方法。
    25     def __init__(self, thid=None, thname=None, step=0.1):
    26         threading.Thread.__init__(self)
    27         self.step = step
    28         self.thid = thid
    29         self.thname = thname
    30 
    31     def run(self):
    32         for i in range(3):
    33             print_time(self.thname, self.step)
    34             time.sleep(self.step)
    35 
    36 print('主线程开始!')
    37 th1 = MyThread(thname='线程1', step=0.2)
    38 th2 = MyThread(thname='线程2', step=0.3)
    39 th3 = MyThread(thname='线程3', step=0.5)
    40 
    41 th1.start()
    42 th2.start()
    43 th3.start()
    44 
    45 th1.join()
    46 th2.join()
    47 th3.join()
    48 print('主线程结束!')
  • 相关阅读:
    人生几宝
    sleep() 和 wait() 有什么区别?
    abstract class和interface有什么区别?
    谈谈final, finally, finalize的区别
    字符串转码【String.getBytes()和new String()】
    Redis中文API地址
    java之ibatis数据缓存
    ibatis的缓存机制
    mysql|表row_format的静态与动态,Compact
    Tesseract ocr 3.02学习记录一
  • 原文地址:https://www.cnblogs.com/annatest/p/13356891.html
Copyright © 2011-2022 走看看