ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

程序&进程&线程

2022-05-11 13:31:59  阅读:106  来源: 互联网

标签:创建 程序 调度 线程 进程 执行


程序是静态实体,只是一组指令的有序集合 ,其本身并无任务意义,只有运行在进程中才有意义,而进程会将任务执行在线程中

进程与线程的区别与联系

① 线程包含在进程中,是cpu进行运算调度的最小单位一个线程只属于一个进程,但是一个进程会包含至少一个线程

② 进程是一个动态实体,系统进行资源分配和调度的最小的独立单元,有自己的运行周期,因创建的而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤销,反应的是一段程序在一定数据集上运行的全部动态过程

③ 进程拥有独立的内存单元,而多个线程共享内存,但是每个线程都有自己的程序技术区、虚拟机栈和本地方法栈

④ 进程的创建调用fork或者vfork,而线程的创建调用pthead_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束。

⑤ 线程是轻量级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的。

⑥ 线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的资源

 

进程的三态模型

 

就绪:进程已分配到除cpu之外的所有必要资源之后,只需要再获得CPU便可立即执行

执行:已获取CPU资源,正在执行

阻塞:正在执行的进程由于发生某事件(I/O请求、申请缓冲区失败等)暂时无法继续执行的状态

 

标签:创建,程序,调度,线程,进程,执行
来源: https://www.cnblogs.com/dong-blog/p/16257544.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有