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(‘主程序‘)