#!/usr/bin/env python
# encoding: utf-8 # Date: 2018/6/18from threading import Thread, Lockimport timen = 100def task(): global n mutex.acquire() # 阻止其他99个线程在这里等待,保证数据安全 temp = n time.sleep(0.1) # 启动一个线程,睡0.1秒足够100个线程全部启动 n = temp - 1 # 100个线程全部修改为99 mutex.release()if __name__ == '__main__': mutex = Lock() t_l = [] time1 = time.time() for i in range(100): # 一个进程内开了100个线程 t = Thread(target=task) t_l.append(t) t.start() for i in t_l: t.join() # 保证主线程执行完毕 time2 = time.time() time3 = time2-time1 print('主', n, time3) # 主 0 10.06277322769165