
文章插图
再谈多线程所谓多线程,就是多个线程在一个进程里同时运行,它们之间可以是协作的关系,一起完成某个共同的任务,也可以各干各的事 。不管协作,还是单干,总有一个问题绕不开:“CPU 的资源怎么分配?”多线程之间争夺资源的过程可以认为是一种“零和博弈”,线程 A 抢夺的资源多,那么线程 B 得到的资源必然就少了嘛!一般来说,用户只会关心 CPU 总的利用率,这个值越大越好,而不用关注具体每个线程得到的计算资源是多是少 。
多线程在同一个进程里跑,必然会带来一些问题,比如“多个线程要同时访问同一个变量,怎么办呢?”(各种锁)、“怎么控制线程的加入和退出呢?”(信号量)、“线程之间的 CPU 时间片怎么分配呢?”(资源调度模式)、“怎么创建一个线程呀?”(线程模板和线程池)等等 。详细内容涉及的面就比较广了,JAVA、C++、C等不同的编程语言实现的方式也不尽相同,下次有时间再聊吧!
推荐阅读
- 布朗山古茶山,后起八大茶山之帕沙茶山的地理渊源
- JS 内存管理机制及验证
- 7000字长文带你深入了解IOC启动原理
- 12123已经处理的违章怎么看图片?
- 老年人压疮护理
- 考试|公务员考不进怎么办?有空考个健康管理师,轻松涨工资,满足这2点即可报名
- 现代物流管理特点和现状
- 给水处理中消毒这一步必不可少 消毒水怎么处理
- 白茶保健机理介绍,安吉白茶的保健介绍
- 车辆被淹保险怎么理赔 整个车被水淹了保险怎么赔
