并发编程 之 进程 之 创建进程 (二)

今日内容:
  进程: 资源分配单位.
  进程的调度: 多个进程在操作系统控制下被 cpu执行, 去享用计算机资源.
    先来先服务 算法
    短作业优先 算法
    时间片轮转 算法
    多级反馈队列(包含上面三个的东西)


  进程调度的过程是不能够随意被程序影响的.  ps: 此时可以更改代码去配合 操作系统,


  程序的并行与并发:
    并行: 更快
    并发: 宏观上同时执行
    进程一共有三个状态: 就绪, 运行, 阻塞
    同步, 异步 ps: 从宏观角度来看.
    堵塞, 非堵塞


  PID: Process ID 进程ID
  ppid: parent process id 父进程id


  父进程: 负责回收一些子进程的资源.

  Python来完成多进程: multiproess 包
    创建进程: multiprocessing.Process 模块
      1, start() :不是运行一个程序, 而是调用操作系统的命令, 要开启创建的子进程.
        在不同的操作系统 使用Python, 都是调用操作系统的命令来启动进程的, 且不同的操作系统操作Python都是不同的.
          在windows 操作系统开启了一个子进程, 第一步相当于import了父进程所在的文件.
            所以, 开启子进程的时候, 必须把 创建子进程对象和start() 写在 if __name__ == '__main__' 下面


          在 linuxios来说, 是完全复制所有的变量一份放到子进程里面, 所以 不用加 if __name__ == '__main__'

    其他方法和属性:
      2, 开启多个子进程:
        利用for循环, 注意 虽然按顺序开启了,但是操作系统不一定会按照顺序来执行.
      3, join(): 阻塞 进程对象, 直到子进程执行完毕之后再继续执行.
      4, isalive() : 判断进程是否在执行任务.
      5, terminate() 强制结束进程. 非阻塞 操作.
      用面向对象的方式开启子进程:
        重写 Process类, 并且重写 run方法.
    进程同步:

      待补充
    进程池:
    进程之间数据共享:
    进程的同步控制

posted @ 2018-07-24 15:04  浮生凉年  阅读(254)  评论(0编辑  收藏  举报