流程具有一定独立功能的程序关于某个数据集合上的一次执行活动,进程是系统进行资源分配和调度的一个独立单位。

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立执行的基本单位。

进程和线程的关系:

(1)一个线程仅仅能属于一个进程,而一个进程能够有多个线程,但至少有一个线程。

(2)资源分配给进程,同一进程的全部线程共享该进程的全部资源。

(3)处理机分给线程。即真正在处理机上执行的是线程。

(4)线程在运行过程中。须要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

进程与线程的差别:

(1)调度:线程作为调度和分配的基本单位。进程作为拥有资源的基本单位

(2)并发性:不仅进程之间能够并发运行,同一个进程的多个线程之间也可并发运行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但能够訪问隶属于进程的资源.

(4) 系统开销:在创建或撤消进程时,因为系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。可是进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程仅仅是一个进程中的不同运行路径。线程有自己的堆栈和局部变量。但线程之间没有单独的地址空间。一个进程死掉就等于全部的线程死掉,所以多进程的程序要比多线程的程序健壮。但在进程切换时,耗费资源较大。效率要差一些

结论:

(1)线程是进程的一部分

(2)CPU调度的是线程

(3)系统分配的资源的过程,资源不正确的线程分配

版权声明:本文博主原创文章。博客,未经同意不得转载。

最新文章

  1. 【GSM】GTM900C的应用——短信
  2. Java基础学习(四)
  3. sdut 2605 A^X mod P
  4. iOS初学者的AppStore上架应用"菜谱大师"开源了!
  5. MATLAB light material lighting
  6. contentMode各种样式展示
  7. ORA-01034/ORA-27101解决
  8. 【MySQL案件】ERROR 1418
  9. bzoj 3343 教主的魔法 分块
  10. Python内置函数(54)——reversed
  11. 页面对象(Page Object)模式
  12. 分析logfilter+session
  13. C++指针速记
  14. hashMap,hashTable,concurrentHashMap区别
  15. 9 月份 GitHub 上最火的 JavaScript 开源项目!
  16. 页面初始化document.body.clientWidth大小变化
  17. 设计模式之Factory(工厂)(转)
  18. HDFS核心设计
  19. Vue2.5入门-1
  20. 20155209 实验三 敏捷开发与XP实践

热门文章

  1. SPOJ DISUBSTR(字符串hash)
  2. How to convert `ctime` to `datetime` in Python? - Stack Overflow
  3. 20.23. xmlrpclib — XML-RPC client access — Python v2.7.5 documentation
  4. Hibernate学习之createSQLQuery与createQuery的区别及使用
  5. .idata数据的解析
  6. hdu4059 The Boss on Mars
  7. 三框架:使用数据源dbcp注意
  8. hdu1505(dp求最大子矩阵)
  9. Berkeley DB 使用
  10. Vs2012于Linux应用程序开发(4):公共财产的定义