python入行038(并发编程)
Posted mmmmmrz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python入行038(并发编程)相关的知识,希望对你有一定的参考价值。
# 1 简述操作系统发展史 """ 手工操作-穿孔卡片 批处理系统-磁带存储 -联机批处理系统 -脱机批处理系统 多道程序系统 -多道程序设计技术 -多道批处理系统 分时系统 实时系统 """ # 2 简述多道程序系统 """ 基本概念: 并发:看起来像同时运行的就可以称之为并发 并行:真正意义上的同时执行 2.1 多道程序设计技术 所谓多道程序设计技术,就是指允许多个程序同时进入内存,并允许它们交替在cpu中执行。 当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。 注意:当一道程序长时间占用cpu的时候,操作系统也会剥夺该程序的cpu执行权限。 """ # 3 简述进程发展史及算法演变 """ 程序是指令、数据及其组织形式的描述,进程是程序的实体。 -先来先服务调度算法 -短作业优先调度算法 -时间片轮转法 -多级反馈队列 """ # 4 简述同步异步阻塞非阻塞概念 """ 进程的3个状态 就绪态;当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 运行态:程序正在处理机上执行,此时的进程状态称为执行状态。 阻塞态:阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。 同步和异步 同步:所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。 异步:所谓异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。 阻塞与非阻塞 小结:异步非阻塞形式是效率最高的 """ # 第五题 书写进程创建的两种方式 from multiprocessing import Process import time def task(name): print(‘%s is running‘ % name) time.sleep(3) print(‘%s is over‘ % name) if __name__ == ‘__main__‘: # 1 创建一个对象 p = Process(target=task, args=(‘jason‘,)) # 容器类型哪怕里面只有1个元素 建议要用逗号隔开 # 2 开启进程 p.start() # 告诉操作系统帮你创建一个进程 异步 print(‘主程序‘) # 第二种方式 类的继承 class MyProcess(Process): def run(self): print(‘hello bf girl‘) time.sleep(1) print(‘get out!‘) if __name__ == ‘__main__‘: p = MyProcess() p.start() print(‘主程序‘)
以上是关于python入行038(并发编程)的主要内容,如果未能解决你的问题,请参考以下文章
JUC并发编程 共享模式之工具 JUC CountdownLatch(倒计时锁) -- CountdownLatch应用(等待多个线程准备完毕( 可以覆盖上次的打印内)等待多个远程调用结束)(代码片段