操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

操作系统简单介绍:

  多道程序设计技术

    空间复用

    时间复用

    进程之间是空间隔离的

  分时系统

  实时系统

  通用操作系统

并发:伪并行,看着像同时运行,其实是任务之间的切换(遇到io切换的会提高代码效率) ,任务切换+保存状态(保存现场)

并行:真正的同时在运行,应用的是多核技术(多个cpu)

进程三状态:就绪(等待操作系统调度去cpu里面执行)      执行  阻塞

提交任务的方式:同步异步   任务的执行状态:阻塞非阻塞

  异步:任务的提交方式,多个任务提交出去,同时执行

分类:

  同步阻塞

  异步阻塞:

  异步非阻塞:

  同步非阻塞:

进程的2种创建方式:

第一种:

import time
from multiprocessing import Process def f1():
time.sleep(3)
print('大力是猪')
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
def f2():
time.sleep(3)
print('还偷偷睡觉')
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())) if __name__ == '__main__':
p1 = Process(target=f1,)
p2 = Process(target=f2, )
p1.start()
p2.start()

第二种方式: 创建一个类,继承Process

from multiprocessing import Process
class MyProcess(Process):
def __init__(self,n):
super().__init__() #别忘了执行父类的init
self.n = n
def run(self):
print('%s快要睡着了'%self.n) if __name__ == '__main__':
p1 = MyProcess('大力')
p1.start()

传参方式:

from multiprocessing import Process
# 演示两种传参方式
def f1(n):
print(n) if __name__ == '__main__':
# p1 = Process(target=f1,args=('大力',)) #创建进程对象
p1 = Process(target=f1,kwargs={'n':'大力'}) # 创建进程对象 kwargs={函数中的形参作为key:值}
p1.start() #给操作系统发送了一个创建进程的信号,后续进程的创建都是操作系统的事儿了

for 循环创建进程:

import time
from multiprocessing import Process def f1(i):
time.sleep(3)
print(i)
if __name__ == '__main__':
for i in range(20):
p1 = Process(target=f1,args=(i,))
p1.start()

join()方法:主进程等待子进程运行完才继续执行

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

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

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

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

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

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

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

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

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

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

  5. 在Python程序中的进程操作,multiprocess.Process模块

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

  6. python全栈开发 * 进程理论 进程创建 * 180724

    一.进程理论 1.进程是资源分配的最小单位. 2.进程调度就是多个进程在操作系统的控制下被CPU执行,去享用计算机的资源. 先来先服务 短作业优先 时间片轮转 多级反馈队列 3.进程调度的过程是不能够 ...

  7. 操作系统介绍-操作系统历史,IO,进程的三态,同步异步阻塞非阻塞

    1.操作系统历史 2.进程,IO,同步异步阻塞非阻塞 操作系统历史: 手工操作: 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念. 手工操 ...

  8. 在python程序中的进程操作

    multiprocess模块 multiprocess不是一个模块而是python中一个操作.管理进程的包. 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所 ...

  9. Python程序中的进程操作

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

随机推荐

  1. Java代码审计入门篇

    作者:i春秋核心白帽yanzmi 原文来自:https://bbs.ichunqiu.com/thread-42149-1-1.html 本期斗哥带来Java代码审计的一些环境和工具准备. Java这 ...

  2. redis 缓存

    本篇博客只介绍 redis 作为缓存的的一些使用,以及在项目中如何把redis和spring如何集成. 1:redis的maven依赖,redis 依赖   spring-redis 依赖: < ...

  3. Servlet案例1:用户登录

    数据库准备: CREATE DATABASE web; USE web; CREATE TABLE users( id INT PRIMARY KEY AUTO_INCREMENT, username ...

  4. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 6.在计算节点上安装并配置计算服务Nova

    安装和配置计算节点这个章节描述如何在计算节点上安装和配置计算服务. 计算服务支持几种不同的 hypervisors.为了简单起见,这个配置在计算节点上使用 :KVM <kernel-based ...

  5. python常用模块os和sys

    一.os模块 说明:os模块是对操作系统进行调用的接口 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 os. ...

  6. 12-部署EFK插件

    配置和安装 EFK 官方文件目录:cluster/addons/fluentd-elasticsearch $ ls *.yaml es-controller.yaml es-service.yaml ...

  7. Spring 源码分析之 bean 实例化原理

    本次主要想写spring bean的实例化相关的内容.创建spring bean 实例是spring bean 生命周期的第一阶段.bean 的生命周期主要有如下几个步骤: 创建bean的实例 给实例 ...

  8. 浅谈如何使用Netty开发高性能的RPC服务器

    如何使用Netty进行RPC服务器的开发,技术原理涉及如下:1.定义RPC请求消息.应答消息结构,里面要包括RPC的接口定义模块,如远程调用的类名.方法名.参数结构.参数值等信息. 2.服务端初始化的 ...

  9. EOS商业落地利器:多签名操作与应用

    eos主网上线在即,它之所以能受到各方青睐,主要是看中了它在未来商业应用落地的潜力.在这期间,完善的账户与权限系统是必要条件. 关键字:eos,账户,钱包,权限,多重签名,eosio.msig,pro ...

  10. 信号为E时,如何让语音识别脱“网”而出?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯教育云发表于云+社区专栏 一般没有网络时,语音识别是这样的 ▽ 而同等环境下,嵌入式语音识别,是这样的 ▽ 不仅可以帮您边说边识. ...