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

操作系统简单介绍:

  多道程序设计技术

    空间复用

    时间复用

    进程之间是空间隔离的

  分时系统

  实时系统

  通用操作系统

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

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

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

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

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

分类:

  同步阻塞

  异步阻塞:

  异步非阻塞:

  同步非阻塞:

进程的2种创建方式:

第一种:

import time
from multiprocessing import Processdef 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__()  #别忘了执行父类的initself.n = ndef run(self):print('%s快要睡着了'%self.n)if __name__ == '__main__':p1 = MyProcess('Jerry')p1.start()

传参方式:

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

for 循环创建进程:

import time
from multiprocessing import Processdef 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 Processdef 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('我是主进程!!!')

转载于:https://www.cnblogs.com/selina1997/p/10240873.html

python之操作系统介绍,进程的创建相关推荐

  1. 【Python】Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作

    1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...

  2. Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作

    1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...

  3. Python Pandas操作Excel表格文件:创建新表格,追加数据

    前言: python操作excel表格文件的增删读写,一般需要用到的第三方库有xlwt,xlrd.xlrd负责读取excel,xlwt负责写入excel文件.这种操作方法比较繁琐,效率还不错,通俗易懂 ...

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

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

  5. python在中小学教学中的应用-在python程序中的进程操作

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

  6. python启动多个进程_Python程序中的进程操作--—--开启多进程

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

  7. python创建新进程_Python并发编程(进程的创建)

    动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的. 并发性:任何进程都可以同其他进程一起并发执行 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的 ...

  8. python和R文件IO操作对比及dataframe创建方式对比:read_csv、to_csv、write.csv、 data.frame、pd.DataFrame

    python和R文件IO操作对比及dataframe创建方式对比 很多工程师可能刚开始的时候只熟悉python或者R其中的一个进行数据科学相关的任务. 那么如果我们对比这学习可以快速了解语言设计背后的 ...

  9. 进程的创建-Process子类(python 版)

    进程的创建-Process子类 创建新的进程还能够使用类的方式,可以自定义一个类,继承Process类,每次实例化这个类的时候,就等同于实例化一个进程对象,请看下面的实例: from multipro ...

最新文章

  1. Word 2007 自动更新,让操作速度加倍!
  2. webBrowser自动填充、抓取网页数据
  3. awk内建变量示例详解之NR、FNR、NF
  4. Spring.Web.Mvc 注入(控制器属性注入)
  5. 在八十年代末,比尔·盖茨和史蒂夫·巴尔默
  6. Weka java.lang.reflect.InvocationTargetException
  7. 微软神操作!Web 版 VS Code 来了!
  8. python基础7-函数
  9. 什么是数字证书?它有什么作用?
  10. AllenNLP框架学习笔记(数据篇之二)
  11. python opencv 获取图片清晰度
  12. c语言怎么让程序换页,c语言编程系统,如何换页显示?
  13. TF实战丨使用Vagrant安装Tungsten Fabric
  14. python如何绘制饼图_Python使用Plotly绘图工具,绘制饼图
  15. jasper report 子报表中嵌套子报表
  16. 阿里巴巴、百度前端工程师 2015 暑期实习生面试经历
  17. fragment与activity之间的信息传递的两种方式
  18. 白色网站,看久了不爽,segmentfault.com的夜色模式....
  19. mysql防火墙设置_mysql8 参考手册--MySQL企业防火墙配置参考
  20. php 获取移动端设备号,getDeviceId()获取设备号IMEI、MEID、ESN

热门文章

  1. Java Web学习(七)HttpServletResponse(客户端响应)
  2. [PHP]常量的一些特性
  3. PythonWeb仿51edu项目实战篇视频教程教学视频
  4. logstash filter grok 用法
  5. 硬盘参数你都懂吗?(上)-从案例引发的讨论
  6. 提高C#编程水平的50个技巧
  7. BZOJ 4516 [Sdoi2016] 生成魔咒
  8. 关于报表在移动端展现需你需要知道哪些?
  9. Linux 下升级 python2 到python3
  10. 【Java深入研究】9、HashMap源码解析(jdk 1.8)