from threading import Thread
import time
from time import sleep,ctime
def my_counter():
for i in range(2):
n=i+1
sleep(1)
return n
def main():
thread_array={}
start_time=time.time() #开始计时
for tid in range(2):
t=Thread(target=my_counter) #线程中执行my_counter函数
t.start()
print"%s is running thread No.%d"%(ctime(),tid+1)
t.join() #等待到该线程结束,才开始执行下一个线程
print"%s thread No.%d ended"%(ctime(),tid+1)
sleep(1)
end_time=time.time() #结束计时
print("Total time:{}".format(end_time-start_time))
if __name__=='__main__':
main()
Fri Apr 06 12:16:00 2018 is running thread No.1
Fri Apr 06 12:16:01 2018 thread No.1 ended
Fri Apr 06 12:16:02 2018 is running thread No.2
Fri Apr 06 12:16:03 2018 thread No.2 ended
Total time:4.00600004196
以上代码实现了线程的顺序执行
from threading import Thread
import time
from time import ctime,sleep
def my_counter():
for i in range(2):
i+=1
sleep(1)
return True
def main():
thread_array={}
start_time=time.time()
for tid in range(2):
t=Thread(target=my_counter)
t.start()
thread_array[tid]=t
print"%s is running thread_array[%d]"%(ctime(),tid)
for i in range(2):
thread_array[i].join()
print"%s thread_array[%d] ended"%(ctime(),i)
end_time=time.time()
print("Total time:{}".format(end_time-start_time))
if __name__=='__main__':
main()
Fri Apr 06 12:18:22 2018 is running thread_array[0]
Fri Apr 06 12:18:22 2018 is running thread_array[1]
Fri Apr 06 12:18:23 2018 thread_array[0] ended
Fri Apr 06 12:18:23 2018 thread_array[1] ended
Total time:1.00300002098
以上代码实现了线程的并发执行