zoukankan      html  css  js  c++  java
  • python 线程 threading 子类化 -2

    import threading
    from time import sleep, ctime
    
    loops = [4, 2]
    
    
    class MyThread(threading.Thread):
        def __init__(self, func, args, name=''):
            threading.Thread.__init__(self)
            self.name = name
            self.func = func
            self.args = args
    
        def run(self):
            print('starting', self.name, 'at:', ctime())
            self.res = self.func(*self.args)
            print(self.name, 'finished at:', ctime())
    
        def getResult(self):
            return self.res
    
    
    def loop(nloop, nsec):
        print('start loop', nloop, 'at:', ctime())
        sleep(nsec)
        print('loop', nloop, 'done at:', ctime())
    
    
    def main():
        print('starting at:', ctime())
        threads = []
        nloops = range(len(loops))
        for i in nloops:
            # 创建线程
            t = MyThread(loop, (i, loops[i]), loop.__name__)
        for i in nloops:
            threads[i].start()  # 启动线程
            print(threads[i].res)
        for i in nloops:
            threads[i].join()  # 等待子线程完成时,主线程执行
        print('all DONE at:', ctime())
    
    
    if __name__ == '__main__':
        main()
    

      myThread.py

  • 相关阅读:
    02 树莓派的远程连接
    01 树莓派系统安装
    Python正课110 —— Django入门
    作业7 答案
    作业8
    作业7
    作业6
    文件操作
    字符编码
    基本数据类型之集合
  • 原文地址:https://www.cnblogs.com/412013cl/p/10193856.html
Copyright © 2011-2022 走看看