admin管理员组文章数量:1563235
一、并发
并发的概念:两个或多个人物(独立的活动)同时发生或进行,即一个程序同时执行多个独立的任务;
并发的假象:以前计算机是单核CPU,某一时刻只能执行一个任务,即由操作系统调度,每秒钟进行多次所谓的“任务切换”,这一种是“并发的假象”(不是真正的并发)。通俗来说就是,一个人一边写文档一边写代码,文档写一段,代码写一行,这样来回切换,虽然他是同时做了两件独立的事情,但是这不是真正的并发,而是“并发的假象”。这种切换要有时间开销,比如这个人的大脑(操作系统)要保存切换时的各种状态,比如文档写到哪里了,代码下一步该怎么写等等。真正的并发应该是两个人同时做这两件事情,一个人写代码的同时另一个人写文档。
现在硬件发展比较迅速,出现了多处理器计算机,用于服务器和高性能计算领域。现在普通的台式机在一块芯片上有多核:双核、4核、8核、10核等等(一个芯片里面有很多人)。能够实现真正的并行执行多个任务(硬件并发)。
二、可执行程序
磁盘上的一个文件,windows下,一个扩展名为.exe的文件。linux下,.x的执行文件等等。
三、进程
进程的概念:可执行程序是可以运行的,那么运行一个可执行程序,那就产生了一个进程。一个可执行程序可以产生多个进程,比如说一个电脑上可以登陆多个QQ。
四、线程
运行一个可执行程序会产生一个进程,每个进程都会有且只有一个主线程,
线程的概念:假设把执行一个进程看成把十吨货从广州运到北京,那主任务(主线程)就是把货运到北京,但是把十吨或分成三辆车走不同的路,分别运到北京,这就是三线程。线程可以理解为一条代码的执行通路。
线程并不是越多越好,每一个线程都需要一个独立的堆栈空间,线程之间切换要保存很多中间状态;切换会耗费本该属于程序运行的时间。
总结:
一句话:一个进程可以同时的并发运行多个线程。(理解了这句话肯定就懂了)。
其他知识:
并发有两个实现方式:一是通过多个进程实现并发;二是在一个进程中创建多个线程实现并发。
参考:c++11并发与多线程视频课程_哔哩哔哩_bilibili
版权声明:本文标题:并法、进程、线程的基本概念与区别(一文即懂) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727437274a1114605.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论