一。进程的其他方法

  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进去的数量相同时,才继续执行

生产者消费者模型:

day 31 进程的其他方法 进程锁 进程队列的更多相关文章

  1. 并发编程6 锁&进程&队列

    1.进程的其他方法 2.验证进程空间隔离和守护进程 3.孤儿进程和僵尸进程 4.锁 for循环加join数据共享 5.进程队列的简单应用 6.通过队列实现进程间的通信 7.生产者消费者模型及Queue ...

  2. day31 进程和其他方法,锁,队列

    1.进程的其他方法: 首先引入模块: import os from multiprocessing import Process p = Process(target=f,) 进程的id:  p.pi ...

  3. Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量

    Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量 一丶线程的理论知识 什么是线程:    1.线程是一堆指令,是操作系统调度 ...

  4. 创建进程,join方法,进程对象相关属性和方法,僵尸进程和孤儿进程,守护进程,互斥锁

    创建进程 在python中提供了一个multiprocessing模块可以帮助我们使用多进程解决问题.在multiprocessing 模块中有一个类Process. from multiproces ...

  5. linux下查看进城(ps)的方法 与 杀死进程(kill)的N种方法

    PS查看进程 inux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必 ...

  6. python基础-12 多线程queue 线程交互event 线程锁 自定义线程池 进程 进程锁 进程池 进程交互数据资源共享

    Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就比别人NB. 我们先了解一下什么是进程和线程. 进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CP ...

  7. Python 第八篇:异常处理、Socket语法、SocketServer实现多并发、进程和线程、线程锁、GIL、Event、信号量、进程间通讯

    本节内容: 异常处理.Socket语法.SocketServer实现多并发.进程和线程.线程锁.GIL.Event.信号量.进程间通讯.生产者消费者模型.队列Queue.multiprocess实例 ...

  8. sqlserver(查看被锁进程)

    -- ###### 查看被锁进程 ###### select 标志, 进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid, 数据库名=db_name(dbid), ...

  9. Python-互斥锁 进程间通讯

    3.守护进程(**) 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常: AssertionError: daemonic proces ...

随机推荐

  1. Java内存模式

    Java内存模型即Java Memory Model,简称JMM.JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式. JVM是Java Virtual Machine(Java ...

  2. 安装google 框架

    使用  root exporer很方便   su cp /sdcard/google/busybox /data/local/tmp chmod 0755 /data/local/tmp/busybo ...

  3. LSTM-自然语言建模

    说到自然语言,我就会想到朴素贝叶斯,贝叶斯核心就是条件概率,而且大多数自然语言处理的思想也就是条件概率. 所以我用预测一个句子出现的概率为例,阐述一下自然语言处理的思想. 处理思想-概率 句子,就是单 ...

  4. android-DNS服务找不到

    1.重启eclipse 2.重新建立AVD 3.在建立AVD时sd卡数值不要填

  5. Linux:磁盘配额

    磁盘配额 一.简略步骤显示 第一步:关闭虚拟机 第二步:编辑虚拟机设置--硬盘--添加 第三步:查看磁盘分区情况 fdisk -l 第四步:选择磁盘分区 fdisk /dev/sda2 第五步:选择磁 ...

  6. MySq:权限表

    权限表 一.介绍 ①MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL数据库中,由mysql_install_db脚本初始化.②存储账户权限信息表主要有:user.db.hos ...

  7. Java学习笔记22(List接口)

    List接口继承自Collection接口,自身具有三大特点: 1.有序集合:存入和取出的顺序一致: 2.此接口的用户可以对每个元素插入位置进行精确控制:可以通过索引操作元素 3.可以存储重复元素 L ...

  8. es6 常用总结

    1.变量 let 声明的变量只在它所在的代码块有效,不允许重复声明 const 声明是一个只读的常量.一旦声明,常量的值就不能改变. const与let的作用域相同,只在声明所在的块级作用域内有效. ...

  9. 【webdriver自动化】整理API框架(主要是关键字,具体例子在本地)

    1. 获取网页源码 pageSource = self.driver.page_source print pageSource.encode("gbk","ignore& ...

  10. SQL注入之Sqli-labs系列第十九关(基于头部的Referer POST报错注入)

    开始挑战第十八关(Header Injection- Referer- Error Based- string) 先来说下HTTP Referer: HTTP Referer是header的一部分,当 ...