>>> import _thread as thread
>>> stdoutmutex=thread.allocate_lock()
>>> exitmutexes=[thread.allocate_lock() for i in range(10)]
>>> def counter(myId,count):
for i in range(count):
stdoutmutex.acquire()
print('[%s]=>%s'%(myId,i))
stdoutmutex.release()
exitmutexes[myId].acquire()
>>> for i in range(10):
thread.start_new_thread(counter,(i,15))
运行结果:
[0]=>0123145488994304
[0]=>1123145505783808
[0]=>2123145522573312
[0]=>3123145539362816
[0]=>4123145556152320
[0]=>5123145572941824
[0]=>6123145589731328
[0]=>7123145606520832
[0]=>8123145623310336
[0]=>9123145640099840
[0]=>10
[0]=>11
[0]=>12
[0]=>13
[0]=>14
[4]=>0
[4]=>1
[4]=>2
[4]=>3
[4]=>4
[4]=>5
[4]=>6
[4]=>7
[4]=>8
[4]=>9
[4]=>10
[4]=>11
[4]=>12
[4]=>13
[4]=>14
[2]=>0
[2]=>1
[2]=>2
[2]=>3
[2]=>4
[2]=>5
[2]=>6
[2]=>7
[2]=>8
[2]=>9
[2]=>10
[2]=>11
[2]=>12
[2]=>13
[2]=>14
[7]=>0
[7]=>1
[7]=>2
[7]=>3
[7]=>4
[7]=>5
[7]=>6
[7]=>7
[7]=>8
[7]=>9
[7]=>10
[7]=>11
[7]=>12
[7]=>13
[7]=>14
[9]=>0
[9]=>1
[9]=>2
[9]=>3
[9]=>4
[9]=>5
[9]=>6
[9]=>7
[9]=>8
[9]=>9
[9]=>10
[9]=>11
[9]=>12
[9]=>13
[9]=>14
[1]=>0
[1]=>1
[1]=>2
[1]=>3
[1]=>4
[1]=>5
[1]=>6
[1]=>7
[1]=>8
[1]=>9
[1]=>10
[1]=>11
[1]=>12
[1]=>13
[1]=>14
[6]=>0
[6]=>1
[6]=>2
[6]=>3
[6]=>4
[6]=>5
[6]=>6
[6]=>7
[6]=>8
[6]=>9
[6]=>10
[6]=>11
[6]=>12
[6]=>13
[6]=>14
[3]=>0
[3]=>1
[3]=>2
[3]=>3
[3]=>4
[3]=>5
[3]=>6
[3]=>7
[3]=>8
[3]=>9
[3]=>10
[3]=>11
[3]=>12
[3]=>13
[3]=>14
[8]=>0
[8]=>1
[8]=>2
[8]=>3
[8]=>4
[8]=>5
[8]=>6
[8]=>7
[8]=>8
[8]=>9
[8]=>10
[8]=>11
[8]=>12
[8]=>13
[8]=>14
[5]=>0
[5]=>1
[5]=>2
[5]=>3
[5]=>4
[5]=>5
[5]=>6
[5]=>7
[5]=>8
[5]=>9
[5]=>10
[5]=>11
[5]=>12
[5]=>13
[5]=>14