说一下进程和线程的区别

时间:2021-09-16 03:23:01   收藏:0   阅读:50

题目:说一下进程和线程的区别

计算机基础--操作系统

解答

进程和线程的通俗理解

CPU

计算机CPU好比一个在运作的工厂【电力有限,一次只能供给一个车间使用】;

进程

进程好比工厂里的车间,它代表CPU能处理的单个任务;

线程

线程好比车间里的工人,一个进程可以包含多个线程;

车间的空间是工人共享的

互斥锁Mutex

有的房间最多只能容纳一个人,比如厕所

一个防止他人进入的简单方法就是门口加一把锁。先到的人锁上门,后到的人看到门锁了就在门口排队,等锁打开了再进去

信号量Semaphore

有些房间可以同时容纳n个人,比如厨房

门口挂n把锁。进去的人取一把钥匙,出来时再把钥匙挂回原处。后到的人看到钥匙空了就在门口排队

mutex是semaphore的一种特殊情况(n = 1),可否用后者替换前者?

操作系统设计的总结

概念

进程Process

进程 = 线程 + 内存 + 文件/网络句柄

线程thread

线程 = 栈 + PC + TLS

进程之间是怎样进行交互的?

线程之间又是怎样进行交互的?

总结

  1. 进程需要分配一大部分的内存,而线程只需要分配一部分栈。
  2. 一个程序至少有一个进程,一个进程至少有一个线程。
  3. 进程是资源分配的最小单位,线程是程序执行的最小单位。
  4. 一个线程可以创建和销毁另一个线程,同一个进程中的多个线程之间可以并发执行。

原文:https://www.cnblogs.com/pleaseAnswer/p/15267410.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!