python并发编程之多线程2------------死锁与递归锁,信号量等
2017-08-30 20:22
555 查看
一、死锁现象与递归锁
进程也是有死锁的
所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,
它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,
如下就是死锁
I/O密集型
七、python标准模块----concurrent.futures
进程也是有死锁的
所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,
它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,
如下就是死锁
# I/O密集型要开启多线程 from multiprocessing import Process from threading import Thread import time def work(): time.sleep(3) if __name__ == '__main__': l = [] start = time.time() for i in range(400): # p = Process(target=work) #34.9549994468689 #因为开了好多进程,它的开销大,花费的时间也就长了 p = Thread(target=work) #2.2151265144348145 #当开了多个线程的时候,它的开销小,花费的时间也小了 l.append(p) p.start() for i in l : i.join() stop = time.time() print('%s'%(stop-start))
I/O密集型
七、python标准模块----concurrent.futures
相关文章推荐
- python并发编程之多线程2------------死锁与递归锁,信号量等
- Python3之多线程GIL、同步锁、信号量、死锁与递归锁、线程Queue、Event、定时器
- python并发编程之Semaphore(信号量)
- python多线程,event,互斥锁,死锁,递归锁,信号量
- Python--同步锁(互斥锁)、死锁(状态)、递归锁、信号量、Event对象
- Java 并发编程深入学习(五)——死锁
- 并发编程实战死锁读书笔记之吐槽
- 并发编程学习笔记之死锁(八)
- Python并发编程之进程
- 【七月Python入门】 第七课并发编程以及系统常用模块
- python并发编程之多进程理论部分
- java并发编程实战手册第二章2.8与死锁的演示
- python的嵌套函数,递归,匿名函数,函数式编程,高阶函数,内置函数
- python 并发编程
- 【Java并发编程】:并发新特性—信号量Semaphore(含代码)
- 【Java并发编程】:死锁
- 死锁与递归锁及信号量等
- 理解Python并发编程-PoolExecutor篇
- [记录]Python高并发编程
- python并发编程之多进程(实现)