前言
在求职的过程中遇见过线程,进程以及高并发,并行,说实话,我对这些概念其实也很模糊,所以自己私下就去学习了这些理论东西,知识是循环渐进的,首先了解了线程和进程,再去学习并发并行会更简单点,下面和小编一起学习下吧。
正文
进程和线程是操作系统的概念,比较抽象,对前端程序员来说只要知道并理解这个概念就可以了
1 都知道cpu是计算机的核心,它承担了计算机的所有任务,它就像 工厂一样,时刻在运行
2 进程就好比工厂的车间,它代表cpu所能处理的单个任务,任何时刻cpu只能运行一个进程,其它进程处于非运行状态 举个列子:假定工厂的电力有限,一次只能供给一个车间使用,也就是说一个车间开工时候,其它车间都必须停工,实质上也就是单个cpu只能处理一个任务
3 一个车间里可以有多个工人,工人就好比线程,一个进程可以包括多个线程
4 车间里的空间是工人共享的,就好比许多房间是每个工人都可以进出的,实质上也就是进程的内存空间是共享的,每个线程都可以使用这些共享内存。
5 就好比车间就一个厕所,当甲工人进去时候,乙工人只能在外面等着,这意味着一个线程使用某些共享内存时候,其它线程必须等它结束才能使用这一块内存
6 一个防止他人进入的简单方法就是门口加一把锁,先到的人锁上门,后到的人看到上锁,就在门口排队,等锁打开再进去。这就叫互斥锁,作用就是防止多个线程同时读写某一块内存区域
7 还有些房间,可以同时容纳n个人,也就是说如果大于n,多出来的人只能在外面等着,实质上也就是某些内存区域,只能供给固定数目的线程使用。
8 想解决这个问题,可以在门口挂n把钥匙,进去的人就取一把钥匙,出来时候再把钥匙放回原处,来的晚的人发现钥匙被拿完了,就知道必须在门口排队了,这种做法叫信号量,主要作用是为了多个线程不会冲突
总结
以上也是我在其它地方了解学到的东西,分享给大家,希望可以对大家有所帮助,高并发,并行下一篇文章再做解释。
前端进程和线程
最新推荐文章于 2022-08-22 20:15:00 发布
本文介绍了操作系统中的进程和线程概念,帮助前端开发者理解CPU如何处理任务。进程好比工厂车间,CPU一次只能处理一个;线程则像是车间内的工人,共享同一内存空间。通过互斥锁和信号量来管理共享资源,防止并发冲突。文章以生动的比喻阐述了并发和并行的基础知识,为后续深入学习打下基础。
摘要由CSDN通过智能技术生成