python之操作系统介绍,进程的创建
操作系统(英语: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之操作系统介绍,进程的创建相关推荐
- 【Python】Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作
1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...
- Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作
1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...
- Python Pandas操作Excel表格文件:创建新表格,追加数据
前言: python操作excel表格文件的增删读写,一般需要用到的第三方库有xlwt,xlrd.xlrd负责读取excel,xlwt负责写入excel文件.这种操作方法比较繁琐,效率还不错,通俗易懂 ...
- 在python程序中的进程操作
********在python程序中的进程操作********之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了, 运行中的程序就是一个进程.所有的进程都是通过 ...
- python在中小学教学中的应用-在python程序中的进程操作
********在python程序中的进程操作********之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了, 运行中的程序就是一个进程.所有的进程都是通过 ...
- python启动多个进程_Python程序中的进程操作--—--开启多进程
Python程序中的进程操作-----开启多进程 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创 ...
- python创建新进程_Python并发编程(进程的创建)
动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的. 并发性:任何进程都可以同其他进程一起并发执行 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的 ...
- python和R文件IO操作对比及dataframe创建方式对比:read_csv、to_csv、write.csv、 data.frame、pd.DataFrame
python和R文件IO操作对比及dataframe创建方式对比 很多工程师可能刚开始的时候只熟悉python或者R其中的一个进行数据科学相关的任务. 那么如果我们对比这学习可以快速了解语言设计背后的 ...
- 进程的创建-Process子类(python 版)
进程的创建-Process子类 创建新的进程还能够使用类的方式,可以自定义一个类,继承Process类,每次实例化这个类的时候,就等同于实例化一个进程对象,请看下面的实例: from multipro ...
最新文章
- Word 2007 自动更新,让操作速度加倍!
- webBrowser自动填充、抓取网页数据
- awk内建变量示例详解之NR、FNR、NF
- Spring.Web.Mvc 注入(控制器属性注入)
- 在八十年代末,比尔·盖茨和史蒂夫·巴尔默
- Weka java.lang.reflect.InvocationTargetException
- 微软神操作!Web 版 VS Code 来了!
- python基础7-函数
- 什么是数字证书?它有什么作用?
- AllenNLP框架学习笔记(数据篇之二)
- python opencv 获取图片清晰度
- c语言怎么让程序换页,c语言编程系统,如何换页显示?
- TF实战丨使用Vagrant安装Tungsten Fabric
- python如何绘制饼图_Python使用Plotly绘图工具,绘制饼图
- jasper report 子报表中嵌套子报表
- 阿里巴巴、百度前端工程师 2015 暑期实习生面试经历
- fragment与activity之间的信息传递的两种方式
- 白色网站,看久了不爽,segmentfault.com的夜色模式....
- mysql防火墙设置_mysql8 参考手册--MySQL企业防火墙配置参考
- php 获取移动端设备号,getDeviceId()获取设备号IMEI、MEID、ESN