一 .  操作系统的作用:

  1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口
  2:管理、调度进程,并且将多个进程对硬件的竞争变得有序

二 多道技术:

  所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。

  1.产生背景:针对单核,实现并发
  ps:
  现在的主机一般是多核,那么每个核都会利用多道技术有4个cpu,
  运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个cpu中的任意一个,具体由操作系统调度算法决定。

  2.空间上的复用:如内存中同时有多道程序
  3.时间上的复用:复用一个cpu的时间片
  强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样才能保证下次切换回来时,
  能基于上次切走的位置继续运行

三 multiprocess 的简单应用

import time
from multiprocessing import Process
def func1():
print('我是大帅哥')
time.sleep(1)
print('我是宇宙无敌大帅哥')
time.sleep(3)
print('人称北京吴彦祖')
def func2():
time.sleep(3)
print('斯嘉丽.约翰逊是大美女')
if __name__ == '__main__': # 必须用main
f1 = Process(target=func1) # 后面不能用()
f2 = Process(target=func2)
f1.start()
f2.start()

  在进程(process)里面必须用  main 因为当执行start的时候相当于复制了一下子进程,并且是以import形式复制的,如果不main 就相当于进行了递归.

四 进程的两种传参方式

  1.

import time
from multiprocessing import Process
def f1(n):
time.sleep(2)
print(f'我是{n}号大帅哥')
if __name__ == '__main__':
for i in range(10):
p1 = Process(target=f1, args=(i,)) # args里面是元组,i 是实参,n 是形参
p1.start()

  2.

from multiprocessing import Process
class MyProcess(Process):
# 要想使类中的init功能需要继承父类的init,在添加新功能
def __init__(self,n):
# 要执行process
super().__init__()
self.n = n
def run(self):
print('宝宝and%s不可告人的事情'%self.n)
if __name__ == '__main__':
p1 = MyProcess('高望')
p1.start()

五 join方法

import time
from multiprocessing import Process
def f1():
time.sleep(2)
print('xxxx')
def f2():
time.sleep(2)
print('ssss')
if __name__ == '__main__':
p1 = Process(target=f1,)
p1.start()
p1.join() # 主进程等待子进程运行完才继续执行
print('开始p2拉')
p2 = Process(target=f2,)
p2.start()
p2.join()
print('我要等了...等我的子进程...')
# time.sleep(3)
print('我是主进程!!!')

  

python之路--操作系统介绍,进程的创建的更多相关文章

  1. Python 操作系统介绍 进程的创建

    背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内 ...

  2. python之操作系统介绍,进程的创建

    操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石.操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控 ...

  3. day30 操作系统介绍 进程的创建

    今日内容 一.操作系统的简单介绍 二,并发与并行 三.同步异步阻塞非阻塞 四.multiprocess模块 1. 操作系统的简单介绍 多道技术(重点) 空间复用: 时间复用: 进程之间是空间隔离的 分 ...

  4. python网络编程--操作系统介绍

    1.操作系统介绍 操作系统位于计算机硬件与应用软件之间,本质也是一个软件.操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两 ...

  5. python之路 线程、进程、协程、队列、python-memcache、python-redis

    一.线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. #!/usr/bin/env python # -*- coding:utf-8 -*- import threa ...

  6. 【python之路36】进程、线程、协程相关

    线程详细用法请参考:http://www.cnblogs.com/sunshuhai/articles/6618894.html 一.初始多线程 通过下面两个例子的运行效率,可以得知多线程的速度比单线 ...

  7. python--操作系统介绍,进程的创建(并发)

    一 .  操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬件的竞争变得有序 二 多道技术: 所谓多道程序设计技术,就是指允许多个程序同时进入内存 ...

  8. python之路——博客目录

    博客目录 python基础部分 函数 初识函数 函数进阶 装饰器函数 迭代器和生成器 内置函数和匿名函数 递归函数 常用模块 常用模块 模块和包 面向对象 初识面向对象 面向对象进阶 网络编程 网络编 ...

  9. python之路——目录

    目录 python基础部分 基础部分 介绍.基本语法.流程控制 列表 元祖 字符串 字典 集合 文件操作 函数 变量 递归 迭代器,生成器,装饰器,Json和pickle 数据序列化 函数 初识函数 ...

随机推荐

  1. go 调用windows dll 的三种方法

    参考:https://blog.csdn.net/qq_39584315/article/details/81287669 大部分代码参考:https://studygolang.com/articl ...

  2. Linux中的update和upgrade的区别

    update是更新源里的软件列表 upgrade顾名思义是升级,升级你系统里的软件

  3. ElasticSearch(站内搜索) 转发 https://www.cnblogs.com/xibei666/p/5929970.html

    简介 Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合.Elasticse ...

  4. linux7 udev的生效

    这篇文章主要介绍在Oracle Linux 7中如何使用udev来设置用户自定义的设备名.在Oracle Linux 7 中的设置方法与之前的Linux版本有较大差别. 下面的例子的对/dev/sdb ...

  5. mysql备份命令

    mysql备份命令如下: 备份多个数据库可以使用如下命令: mysqldump -uroot -p123456 --databases test1 test2 test3 > /home/tes ...

  6. package-info.java的使用

    一.引入 上文中,提到了注解类JyzTargetPackage可以定义为@Target(ElementType.PACKAGE),可是在被注解类里我无论怎么加,编译器都报错,于是引入了package- ...

  7. 深入理解 Node.js 中 EventEmitter源码分析(3.0.0版本)

    events模块对外提供了一个 EventEmitter 对象,即:events.EventEmitter. EventEmitter 是NodeJS的核心模块events中的类,用于对NodeJS中 ...

  8. Docker存储卷(V18.X)

    简介 介绍 Docker的存储卷称之为volume,本质上容器上的一个或者多个目录,而这些目录绕过了联合文件系统,与宿主机中的目录或者其他容器目录进行了绑定关系,这种绑定关系可以看作Linux的mou ...

  9. 【转】WPF PasswordBox不支持绑定解决方法

    原文地址:https://www.cnblogs.com/wxjing67/p/3935717.html PasswordBox的Password属性因为安全原因不支持直接绑定,可以使用依赖属性实现. ...

  10. WPF效果(GIS三维篇)

    二维的GIS已经被我玩烂了,紧接着就是三维了,哈哈!先来看看最简单的效果: