[Python]多线程threading函数方法--计算5!+4!+3!+2!+1!
2013-04-12 18:05
453 查看
上次用一行函数完成了,这次是要用多线程来完成。
#coding=utf8 ''' def singles(): sum = 0 for i in range(1,6): t=reduce(lambda x,y:x*y,range(1,i+1)) sum +=t return sum print singles() ''' #多线程实现,一下子启动5个线程,去计算1-5的阶乘,一个全局变量sum把结果加到一起 import threading,time sum = 0 lock = threading.Lock() def single(i): global sum,lock lock.acquire() t=reduce(lambda x,y:x*y,range(1,i+1)) sum = sum + t print threading.currentThread().getName(),t lock.release() def main(): global sum for i in range(1,6): threading.Thread(target=single,args=(i,),name='Thread'+str(i)).start() time.sleep(1) print sum if __name__=='__main__': main()没有判断线程阻塞,直接用sleep的方法不是很安全的其实。
相关文章推荐
- Python 一行代码实现5!+4!+3!+2!+1!
- [Python]用一行 map,reduce 计算 5!+4!+3!+2!+1!
- Python 一行代码实现5!+4!+3!+2!+1!
- 第三课作业1计算:1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=?
- 计算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!
- C语言:函数5!+4!+3!+2!+1!
- 计算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+......的值(需注意整型变量的范围)
- python计算两个数的百分比方法
- Python OpenCV 直方图的计算与显示的方法示例
- python 中常用计算时间的方法
- python学习——计算阶乘的几种方法
- python提高计算速度的几种方法---学习笔记26
- Python计算三角函数之asin()方法的使用
- Python执行时间的计算方法小结
- python实现计算倒数的方法
- 几种Python执行时间的计算方法
- Python计算程序运行时间的方法
- 网上看到的计算python 月份增加的解决方法
- Python学习笔记·计算生态(软件开发方法)
- Python基于checksum计算文件是否相同的方法