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

浙公网安备 33010602011771号