进程(process)和线程(thread)不仅是操作系统中的两个基本概念|mutex和线程的区别( 二 )

还有些房间 , 可以同时容纳n个人 , 比如厨房 。 也就是说 , 如果人数大于n , 多出来的人只能在外面等着 。 这好比某些内存区域 , 只能供给固定数目的线程使用 。 
这时的解决方法 , 就是在门口挂n把钥匙 。 进去的人就取一把钥匙 , 出来时再把钥匙挂回原处 。 后到的人发现钥匙架空了 , 就知道必须在门口排队等着了 。 这种做法叫做"信号量"(Semaphore) , 用来保证多个线程不会互相冲突 。
不难看出 , mutex是semaphore的一种特殊情况(n=1时) 。 也就是说 , 完全可以用后者替代前者 。 但是 , 因为mutex较为简单 , 且效率高 , 所以在必须保证资源独占的情况下 , 还是采用这种设计 。 
操作系统的设计 , 因此可以归结为三点:以多进程形式 , 允许多个任务同时运行;以多线程形式 , 允许单个任务分成不同的部分运行;提供协调机制 , 一方面防止进程之间和线程之间产生冲突 , 另一方面允许进程之间和线程之间共享资源 。
怎么样 , 进程和线程的概念就彻底搞懂了吧?再遇到面试官问这个问题 , 就直接吊打他吧 。
- 为验证人类和黑猩猩,是否会产生新的后代,科学家找来5位姑娘!
- 红米手机|真我GTNeo3和红米K50谁的综合实力更好,哪个更值得购买?
- ColorOS|绿厂又在憋大招?新系统和新产品接踵而至
- 和真的几乎一样,这个仿生蜻蜓,要实现《沙丘》里的扑翼机了
- 为了证明人类可以和猩猩“结合”,女科学家亲身实验,精神可佩
- 宇宙大爆炸与理解生命起源和进化有什么关联?
- 红米手机|红米两款新机曝光,Note12系列和K50 Ultra已安排,拍照大幅提升
- MacBook Pro|淘宝网企业和个人开店哪个费钱?差别大吗?
- 小米科技|小米两款“Ultra”新机齐遭曝光,分别搭载骁龙8+和天玑9000+芯片
- 电信|印度电信和IT部长:印度本土研发的5G技术有潜力赢得全球市场
