码迷,mamicode.com
首页 > 编程语言 > 详细

python/进程线程的总结

时间:2017-06-11 14:53:07      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:产生   center   不为   守护   资源   工作   不能   交互   死锁   

python/进程线程的总结

一、进程和线程的描述:

进程:最小的资源管理单位

线程:最小的执行单位

   执行一个进程时就默认执行一个线程(主线程)

进程和线程的工作方式:

串行:

假如共有A、B、C任务, 串行的执行流程是第一个执行A任务,A任务执行完毕后再执行B任务,B任务执行完毕后最后执行C任务。

并发:

假如共有A、B、C任务,并行的执行流程是执行A任务一段时间,切换成B任务执行一段时间,在切换到C任务,直到A、B、C三个任务都执行完毕。

并行:

假如共有A、B、C任务,并发的执行流程是同一时刻同时执行A、B、C任务但是必须要有多个处理器(CPU)

Cpython因为存在GIL导致同一时刻同一进程内只能有一个线程执行

关于daemon:程序直到不存在守护线程在退出

同步锁:由于多线程处理公共数据(会导致数据错误才进行加锁)

死锁:在一个进程内有多个线程在获取用户锁,同一时刻不同的线程拿到俩锁,想要 交互的时候谁都没有释放就一直等待对方释放,就产生了死锁的情况

递归锁:递归锁的内部有一个计数的机制,当一个线程拿到以后就自加一。有进程释放一次就自减一。注(默认的值是0,当锁的值不为0时,所有的进程均不能进行获取)

 

python/进程线程的总结

标签:产生   center   不为   守护   资源   工作   不能   交互   死锁   

原文地址:http://www.cnblogs.com/guobaoyuan/p/6842096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!