一.进程的其他方法

  1.   .name      进程名   (可指定)

  2.  .pid     进程号

  3.   os.getpid         在什么位置就是什么的进程号

  4.   .is_alive()     判断子进程是否还活着

  5.    .terminate()       给操作系统发出结束进程的信号

二 。进程之间是物理隔离的

三. 守护进程

  .daemon = True    设置成为守护进程

          必须写在 start 之前

    跟着主进程的结束而结束

四.僵尸进程和孤儿进程

  1.僵尸进程(有害):一个进程使用fork创建子进程,如果子进程退出,

而父进程并没有调用wait或waitpid获取子进程的状态信息,

那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程

  2.孤儿进程(无害):一个父进程退出,而它的一个或多个子进程还在运行,

     那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,

     并由init进程对它们完成状态收集工作

五.进程锁/互斥锁/同步锁    锁名 = Lock()

  1.    锁名.acquire()

    锁住部分(串行)

    锁名.release()

  2.    with  锁名

      锁住部分

抢票实例:

六.数据共享    Manager

七.进程队列 (先进先出)

   队列名 = Queue (队列长度)

  1.   .put ()   放值

  2.   .get()     取值

  3.   防止阻塞   (try ...except)

    超出时    .put_nowait()

    取空时    .get_nowait()

  4.  .qsize()   当前队列有多少数据

  5.   .full()     是否满了   (Ture/False) 不可靠

  6.   .empty()     是否空了   (Ture/False) 不可靠

生产者消费者模型:

八.  Joinablequeue模型    队列有返回 

    队列名 =  Joinablequeue(队列长度) 

    队列名.task_done()    #给队列发送一个取出的这个任务已经处理完毕的信号

    队列名.join() #就等着task_done()信号的数量,

          和我put进去的数量相同时,才继续执行

生产者消费者模型:

并发 --- 2 进程的方法,进程锁 守护进程 数据共享 进程队列, joinablequeue模型的更多相关文章

  1. (并发编程)线程 (理论-创建-lock-属性-守护,与进程的对比)

    一.线程理论1.什么是线程   线程指的是一条流水线的工作过程(执行代码)   进程不是执行单位,是资源单位   一个进程内自带一个线程,线程是执行单位 2.进程VS线程    1.同一进程内的线程们 ...

  2. python 进程锁 生产者消费者模型 队列 (进程其他方法,守护进程,数据共享,进程隔离验证)

    #######################总结######### 主要理解 锁      生产者消费者模型 解耦用的   队列 共享资源的时候 是不安全的 所以用到后面的锁 守护进程:p.daem ...

  3. 并发编程8 线程的创建&验证线程之间数据共享&守护线程&线程进程效率对比&锁(死锁/递归锁)

    1.线程理论以及线程的两种创建方法 2.线程之间是数据共享的与join方法 3.多线程和多进程的效率对比 4.数据共享的补充线程开启太快 5.线程锁 互斥锁 同步锁 6.死锁现象和递归锁 7.守护线程 ...

  4. Python之路(第三十七篇)并发编程:进程、multiprocess模块、创建进程方式、join()、守护进程

    一.在python程序中的进程操作 之前已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起来的python程序 ...

  5. python并发编程之多进程1-----------互斥锁与进程间的通信

    一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...

  6. 多进程(了解):守护进程,互斥锁,信号量,进程Queue与线程queue(生产者与消费者模型)

    一.守护进程 主进程创建守护进程,守护进程的主要的特征为:①守护进程会在主进程代码执行结束时立即终止:②守护进程内无法继续再开子进程,否则会抛出异常. 实例: from multiprocessing ...

  7. python并发编程之多进程1--(互斥锁与进程间的通信)

    一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...

  8. python并发编程之多进程1互斥锁与进程间的通信

    一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...

  9. 20181229(守护进程,互斥锁,IPC,生产者和消费者模型)

    一.守护进程 守护进程:一个进程B守护另一个进程A,当被守护的进程A结束,进程B也就结束了.(不一定同生,但会同死) 两个特点: ①守护进程会在主进程代码执行结束后就终止 ②守护进程内无法再开启子进程 ...

随机推荐

  1. HDU 1087 最长不下降子序列 LIS DP

    Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. May ...

  2. 重建二叉树POJ2255

    重建二叉树 给定一棵二叉树的前序遍历和中序遍历的结果,求其后序遍历. 输入输入可能有多组,以EOF结束.每组输入包含两个字符串,分别为树的前序遍历和中序遍历.每个字符串中只包含大写字母且互不重复.输出 ...

  3. html5-css边框img

    div{    width: 500px;    height: 300px;    background: rgb(122,30,60);    border:15px solid black;   ...

  4. Subway (树中心 + 树hash)

    首先找到树的中心或者中心,我这里是找中心,因为我们需要找一个相同的起点,然后最多2个中心就是树的宽度为偶数时,奇数时为1个. 找到之后需要对树进行hash,使得每个点都具备独特性,使之树的形态能够保证 ...

  5. 四则运算 python

    2018103004四则运算练习软件项目报告   此作业的要求参见链接的任务三个人任务:https://mooc1-1.chaoxing.com/mycourse/studentstudy?chapt ...

  6. linux常用命令:rmdir 命令

    今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.)删 ...

  7. IDEA相关知识整理

    一.离线下载插件[也可以通过代理的方式下载插件] http://plugins.jetbrains.com/ 下载离线插件 settings -> plugins -> install p ...

  8. Qt读取TXT文件时,GBK与UTF-8编码判断

    读取txt文件时,很多时候无法获取文件的编码格式.如果直接进行使用,则有可能出现乱码.需要在使用前将其转为Unicode(Qt的默认编码格式). 虽然实际的编码格式种类非常多,但平常主要使用的有GBK ...

  9. <转>jmeter(三)SOAP/XML-RPC Request

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...

  10. 安装ES6及HEAD插件

    1.下载相应npm包 es6地址:https://www.elastic.co/downloads/elasticsearch head插件地址:https://github.com/mobz/ela ...