一 .  操作系统的作用:

  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. python之路--操作系统介绍,进程的创建

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

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

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

  5. python线程池/进程池创建

    进程池 import time from concurrent.futures import ProcessPoolExecutor def task(arg): time.sleep(2) prin ...

  6. 笔记:Python操作sql

    python操作mysql步骤: 创建connect连接 conn = connect(host='127.0.0.1', port=3306, user='root', password='1234 ...

  7. python操作Redis方法速记

    redis有5种数据结构,分别如下: 5种数据结构 python语言对5种数据结构的增删改查 全局函数 redis 连接 import redis pool = redis.ConnectionPoo ...

  8. {Python之进程} 背景知识 什么是进程 进程调度 并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 multiprocess模块 进程池和mutiprocess.Poll

    Python之进程 进程 本节目录 一 背景知识 二 什么是进程 三 进程调度 四 并发与并行 五 同步\异步\阻塞\非阻塞 六 进程的创建与结束 七 multiprocess模块 八 进程池和mut ...

  9. python并发编程02 /多进程、进程的创建、进程PID、join方法、进程对象属性、守护进程

    python并发编程02 /多进程.进程的创建.进程PID.join方法.进程对象属性.守护进程 目录 python并发编程02 /多进程.进程的创建.进程PID.join方法.进程对象属性.守护进程 ...

随机推荐

  1. Python-4-设置字符串的格式字符串

    字符串是不可变的,所有元素赋值和切片赋值都是非法的   1.替换字段名 可以按顺序和名称匹配 >>> "{foo} {} {bar} {}".format(1, ...

  2. java数据结构----哈希表

    1.哈希表:它是一种数据结构,可以提供快速的插入操作和查找操作.如果哈希表中有多少数据项,插入和删除操作只需要接近常量的时间.即O(1)的时间级.在计算机中如果需要一秒内查找上千条记录,通常使用哈希表 ...

  3. java算法之冒泡排序

    所有的冒泡排序算法都是一样的: 冒泡排序可以分为两种情况: 一种是将无序序列排序为由小到大的升序方式: 另一种情况是将无序序列转化成一种由大到小的降序排列:

  4. JS面向对象方法(一): 使用原生JS 实现导航栏下多级分类弹出效果

    利用二级菜单的onmouseover/out事件 重新构建一级菜单 ".hover" 样式类 代码如下: CSS部分: 在原来的目标:hover样式中 增加 .hover状态 li ...

  5. DB2 函数

    1.大小写转换 转大写UPPER 转小写LOWER

  6. 107 Binary Tree Level Order Traversal II 二叉树的层次遍历 II

    给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],    3   / \  9 ...

  7. Vue.js - day7

    使用mui的tab-top-webview-main完成分类滑动栏 兼容问题 和 App.vue 中的 router-link 身上的类名 mui-tab-item 存在兼容性问题,导致tab栏失效, ...

  8. js原生子级元素阻止父级元素冒泡事件

    <html> <head> <style type="text/css"> #hide{ width:75%;height:80px;backg ...

  9. DSO的接口文档[转]

    本文从别处转来: (开发环境)使用前先注册一下DSOFramer.ocx 操作:将DSOFramer.ocx复制到C:\windows\system32目录下, 开始->运行->regsv ...

  10. 【学习笔记】八:浏览器对象模型BOM

    1.window对象 window是BOM的核心,它既是JS访问浏览器的一个接口,又是ES规定的Global对象. 1)全局作用域对象 a.所有在全局作用域中声明的变量.函数都会成为window对象的 ...