一、进程与线程之间的关系
  1、线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。
  2、线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。

二、进程、线程的优缺点
  进程:
    优点:同时利用多个cpu,能够同时进行多个操作
    缺点:耗费资源(重新开劈内存空间)

  线程:
    优点:共享内存,IO操作时候,创造并发操作
      1、易于调度。
      2、提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。
      3、开销少。创建线程比创建进程要快,所需开销很少
    缺点:抢占资源

结论:
  1、进程不是越多越好,理想的是cpu个数=进程个数;线程也不是越多越好,具体案例具体分析,请求上下文切换耗时。
  2、计算机中执行任务的最小单元:线程
  3、IO密集型:多线程
  4、计算密集型:多进程
  5、GIL :全局解释器锁

三、进程的基本状态及状态之间的关系

  状态:运行、阻塞、挂起阻塞、就绪、挂起就绪

状态之间的转换:

(1)准备就绪的进程,被CPU调度执行,变成运行态;
(2)运行中的进程,进行I/O请求或者不能得到所请求的资源,变成阻塞态;
(3)运行中的进程,进程执行完毕(或时间片已到),变成就绪态;
(4)将阻塞态的进程挂起,变成挂起阻塞态,当导致进程阻塞的I/O操作在用户重启进程前完成(称之为唤醒),挂起阻塞态变成挂起就绪态,当用户在I/O操作结束之前重启进程,挂起阻塞态变成阻塞态;
(5)将就绪(或运行)中的进程挂起,变成挂起就绪态,当该进程恢复之后,挂起就绪态变成就绪态;

最新文章

  1. zabbix利用api批量添加item,并且批量配置添加graph
  2. C语言 · 十六进制转十进制
  3. asp.net使用signalr实现集群集群下面的消息推送
  4. Unity数据存储路径总结
  5. try-catch和throw,throws的区别和联系
  6. OAuth2.0服务器端的实现
  7. jquery ajax json 数据的遍历
  8. 【第五篇】androidEventbus源代码阅读和分析之unregister代码分析
  9. SIP DB33标准笔记 注册/目录发送/心跳
  10. 【NOIP模拟】roads(最短路径转最小生成树)
  11. 201521123082 《Java程序设计》第5周学习总结
  12. 201521123115 《Java程序设计》第12周学习总结
  13. Spring 源码分析 spring-core 篇
  14. 关于Android开发中Arm、X86和Mips(草稿)
  15. ubuntu12下subversion 1.6升级为1.8版本
  16. jQueryEasyUI学习笔记
  17. go标准库的学习-net/http
  18. P2502 [HAOI2006]旅行 并查集
  19. 一些常见的第三方UI库
  20. Spring Security构建Rest服务-1000-使用SpringSocial开发第三方登录之大白话OAuth协议

热门文章

  1. mpvue小程序加载不出图片 Failed to load local image resource /images/xx.png
  2. 重写jquery ajax 方法
  3. 201871010110-李华《面向对象程序设计(java)》第十四周学习总结
  4. JVM 学习资料
  5. day37_8_21表的查询
  6. 【转载】Innodb中的事务隔离级别和锁的关系
  7. NOIP 2004 合并果子
  8. Maven的Scope区别笔记
  9. Vue error: Parsing error: Unexpected token
  10. 配置Hive 支持 JSON 存储