从本文开始,我准备用80篇文章的量来讲一讲服务器开发所需的知识点和具体程序实例,将我们之前文章的内容进行串联。希望能够得到大家的支持。本文呢,从基本的概念开始,进程和程序的区别开始。
程序程序,是指编译好的二进制文件(或者是可执行的文件),在磁盘上,不占用系统资源(cpu,内存,文件,设备,锁....)。
进程进程,是指一个抽象的概念,与操作系统原理紧密相连。进程是活跃的程序,它是占用系统资源的。可以这样简单的说,程序运行起来就产生了一个进程。
区别程序比喻剧本
进程比喻戏
同一个剧本可以在多个舞台同时进行表演。同样的道理,同一个程序也可以运行为不同的进程(彼此之间是互不影响)
例如:同时打开两个终端,各自都有一个bash,但彼此的ID不同。
并发并发是指在单个系统里同时执行多个独立的活动,而非顺序的或是一个接一个的活动。可以看下图,不同核心可以同时并发运行两个任务而不干扰。
并发途径1,多进程并发
优点:进程之间独立。可以通过进程间常规的通信渠道互相传递讯息(信号、套接字、文件、管道等等)
缺点:进程之间通信通常设置复杂,速度慢。需要时间启动进程,操作系统必须投入内部资源来管理进程
2,多线程并发
优点:系统开销小,通信方便
缺点:线程间数据共享一致性问题
why使用并发?1,解耦分离相关独立的业务模块代码,提高理解性,减少出错可能性。
2.性能需要芯片趋向于多核芯片的设计,即在单个芯片上集成了多颗处理器,从而达到比单核心更好的性能。将一个单个任务分成几部分,且各自并行运行,从而降低总运行时间。
本文原创,欢迎转载。
作者:cpp软件架构狮
标明出处:https://mp.toutiao.com/profile_v3/graphic/publish/?pgc_id=6590842623664062990
好了,本文就到这里了。以后的文章我尽量简短扼要,你们解决这样可以吗?欢迎提建议!
感谢各位支持,点击屏幕右上角的【关注】每天文章不落下。感激不尽!本头条号文章分类目录(精心整理)