• 进程,子进程,线程,协程


    进程:

            狭义:进程就是正在运行的程序

            广义:它是操作系统进行资源分配的基本单位,也就是说每启动一个进程,操作系统都会给                       其分配一定的运行资源(内存资源)保证进程的运行

    程序:        

            程序时一个没有生命的实体,等待处理器赋予生命,一旦程序有了生命就变成了进程

    进程与程序的区别

            1.程序是指令和数据的有序集合,其本身没有任何含义,是一个静态的资源,进程是程序在              系统中的依次执行过程

            2.程序可以作为软件长期存在,进程是由一定生命周期

    进程的状态

     进程的三种状态:

            就绪态:运行的条件都易筋经满足正在等待CPU执行

            执行态:CPU正在执行其功能

            等待态:等待某些条件满足

    并行:同一时刻,多个任务同时执行               例:12点放学吃饭

    并发:同一时间(时间段),多个任务同时执行        例:12点到1:40是吃饭时间

    并发与并行的区别:

            微观:并行是指同一时间点上,多个任务真正的同时执行

            宏观上:并发市值在一个时间段内,多个任务走走停停

    创建进程

    1. #创建一个进程
    2. import time
    3. #进程的导包
    4. import multiprocessing
    5. def test1():
    6. while True:
    7. print("1---------")
    8. time.sleep(1)
    9. def test2():
    10. while True:
    11. print("2------")
    12. time.sleep(1)
    13. def main():
    14. #分别创建test1test2个进程
    15. p1 = multiprocessing.Process(target=test1)
    16. p2 = multiprocessing.Process(target=test2)
    17. #启动 p1 和 p2
    18. p1.start()
    19. p2.start()
    20. #程序入口
    21. if __name__ == '__main__':
    22. main()

    创建线程

    1. import threading, time
    2. def fun1():
    3. for i in range(5):
    4. print("唱歌...")
    5. time.sleep(1) # 休眠1s
    6. def fun2():
    7. for i in range(5):
    8. print("跳舞...")
    9. time.sleep(1) # 休眠1s
    10. if __name__ == "__main__":
    11. # t1 t2 变量名
    12. t1 = threading.Thread(target=fun1) # 创建线程1 执行fun1
    13. t2 = threading.Thread(target=fun2) # 创建线程2 执行fun2
    14. t1.start() # 启动2个线程
    15. t2.start()
    16. print("主线程结束")

  • 相关阅读:
    鸿蒙媒体开发【简述】
    图像篡改检测调研
    【EI会议征稿】第七届大数据与应用统计国际学术研讨会(ISBDAS 2024)
    Asterisk Ubuntu 安装
    ORB-SLAM2 ---- Frame::AssignFeaturesToGrid函数
    双十二数码家电推荐 家用投影仪和投影机哪个好?
    git的基本使用1
    flutter组件 InheritedWidget
    项目中注解的使用
    explain的执行结果:Impossible WHERE
  • 原文地址:https://blog.csdn.net/lizhenqi123456/article/details/126733217