python核心编程-线程threading模块二

来源:互联网 发布:利用js实现动态时间 编辑:程序博客网 时间:2024/05/22 03:34
#!/usr/bin/env python# -*- coding: UTF-8 -*- ''' function :线程模块threading    仅练习'''from time import sleep, ctimeimport threadingloops = [4,2]class ThreadFunc(object):    def __init__(self, func, args, name=''):        self.name = name        self.func = func        self.args = args    def __call__(self):        apply(self.func, self.args)def loop(nloop, nsec):    print 'start loop', nloop, 'at:', ctime()    sleep(4)    print 'loop', nloop, 'done at:', ctime()def main():    print 'starting at:', ctime()    threads = []    nloops = range(len(loops))    for i in nloops:        t = threading.Thread(target=ThreadFunc(loop, (i,loops[i]),loop.__name__))        threads.append(t)    for i in nloops:        threads[i].start()    for i in nloops:        threads[i].join()    print 'all DONE at:', ctime()if __name__=='__main__':    main()

输出:
D:\Python27\test>thread05.py
starting at: Wed Jan 20 22:10:42 2016
start loop 0 at:start loop Wed Jan 20 22:10:42 20161
at: Wed Jan 20 22:10:42 2016
loop 0 done at: Wed Jan 20 22:10:46 2016
loop 1 done at: Wed Jan 20 22:10:46 2016
all DONE at: Wed Jan 20 22:10:46 2016

D:\Python27\test>

0 0
原创粉丝点击