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

CSIC_716_20191207【并发编程---进程与线程】

时间:2019-12-07 21:01:23      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:fifo   读写   ase   count   tip   ica   dea   增加值   cer   

僵尸进程与孤儿进程

 

 

 

 

守护进程,

from Multiprocessing  import Process

在 suboprocess.start( ) 的上一行,增加 subprocess.deamon( ),创建守护进程。当主进程执行完成时,subprocess也会被强制结束。

 

进程之间是相互独立的,主子两个进程在执行时,数据是隔离的。

 

进程互斥锁:

from Multiprocessing import Lock

lock = Lock( )

lock.acquire( )  #加锁

lock.release( )  #释放锁

进程互斥锁是为了保证数据的读写安全。避免并发造成数据的错乱。

 

 

队列

队列可以使得进程之间的数据可以交互。

队列遵循先进先出(FIFO)的原则.

python中可以使用队列的三种方法

from multiprocessing import Queue
from multiprocessing import JoinableQueue  # 基于Queue封装的
import queue  # 内置的队列

q_obj = Queue(count)  # 对应 import Queue,规定队列中能存放几个值,count为数量
q_obj = JoinableQueue(count)  # 对应 import JoinableQueue
q_obj = queue.Queue(count)  # 对应 import queue,以上三种方式,三选一。

q_obj.put_nowait(args)  # 给队列中增加值,如果队列中满了,就会报错
q_obj.put(args)  # 给队列中增加值, 如果队列满了,就会阻塞等待

q_obj.get_nowait()  # 从队列中取值,如果取不到值,就会报错。
q_obj.get()  # 从队列中取值,如果取不到,就会阻塞等待

  

 IPC机制    Interprocess conmunication 进程间通信,在产生子进程时,将队列作为参数传入

 

生产者和消费者模型    基于队列,在producer 和consumer之间交互信息。

 

 

 

 

CSIC_716_20191207【并发编程---进程与线程】

标签:fifo   读写   ase   count   tip   ica   dea   增加值   cer   

原文地址:https://www.cnblogs.com/csic716/p/12003175.html

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