python进程线程协程
文章平均质量分 74
xlengji
python博客
展开
-
python线程
python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用 1. 使用threading模块单线程执行#coding=utf-8import timedef saySorry(): print("亲爱的,我错了,我能吃饭了吗?") time.sleep(1)if __na...原创 2018-07-23 11:34:45 · 163 阅读 · 0 评论 -
python线程的互斥锁
当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制 线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定 某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。互斥锁保证了每次只有一个线程进行写入操作,从而...原创 2018-07-23 11:40:03 · 253 阅读 · 0 评论 -
python进程池apply与apply_async的区别
apply方法是阻塞的。 意思就是等待当前子进程执行完毕后,在执行下一个进程。 例如: 执行结果如下: 因为apply是阻塞的,所以进入子进程执行后,等待当前子进程执行完毕,在继续执行下一个进程。 例如: 有三个进程0,1,2。等待子进程0执行完毕后,在执行子进程1,然后子进程2,最后回到主进程执行主进程剩余部分,就像上面的执行结果一样。...原创 2018-07-17 16:48:56 · 32415 阅读 · 4 评论 -
python进程的状态及创建
进程以及状态1. 进程程序:例如xxx.py这是程序,是一个静态的进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。不仅可以通过线程完成多任务,进程也是可以的2. 进程的状态工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态就绪态:运行的条件都已经慢去,正在等在...原创 2018-07-23 11:52:23 · 4469 阅读 · 0 评论 -
进程、线程、协程对比
进程、线程对比功能进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口定义的不同 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器...原创 2018-07-23 11:56:41 · 191 阅读 · 0 评论 -
进程中的Queue
进程间通信-QueueProcess之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。1. Queue的使用可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理:#coding=utf-8from multiprocessing import Queueq=...原创 2018-07-23 12:20:09 · 198 阅读 · 0 评论 -
进程池Pool
当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的...原创 2018-07-23 12:23:03 · 186 阅读 · 0 评论