thread模块python程序:
#!/usr/bin/python
import thread
from time import ctime,sleep
loop = [2,4]
def loops(loop_num,sleep_time,lock):
print 'start loop',loop_num,'at:',ctime()
sleep(sleep_time)
print 'done loop',loop_num,'at:',ctime()
lock.release()
def main():
print 'start time at:',ctime()
locks = []
lens = range(len(loop))
for i in lens:
lock = thread.allocate_lock()
lock.acquire()
locks.append(lock)
for i in lens:
thread.start_new_thread(loops,(i,loop[i],locks[i]))
for i in lens:
while locks[i].locked():
pass
print 'all Done at:',ctime()
if __name__ == '__main__':
main()
我个人的理解: