您的位置:首页 > 编程语言 > Python开发

python多线程(等待)主线程和子线程的同步执行

2014-12-30 14:09 393 查看
#!/usr/bin/env python

# -*- coding: utf-8 -*-

import threading

import time

def fun(name, ls_name, front_thread = None):

'''

线程启动函数

通过front_thread来使用线程有序的运行

'''

time.clock()

time.sleep(2)

# 如果front_thread存在,则在front_thread运行完成后,才运行当前线程

if front_thread != None:

front_thread.join()

ls_name.append(name)

print "thread %s : %s"% (name, time.clock())

if __name__ == '__main__':

ls_result_name = []

ls_thread = []

time.clock()

# 逐一启动1000个线程

for i in range(0,10):

if len(ls_thread) == 0:

t = threading.Thread(target=fun, args=(i,ls_result_name,None))

else:

t = threading.Thread(target=fun, args=(i,ls_result_name,ls_thread[-1]))

t.start()

ls_thread.append(t)

# 等待所有线程结束

for t in ls_thread:

t.join()

print 'ls_result_name:', ls_result_name

print "main thread:%s" % time.clock()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: