go语言并发讲解,虚拟内存的讲解

本文详细介绍了计算机编程中的并行与并发概念,并通过咖啡机例子帮助理解。接着讲解了常见的并发编程技术,包括进程并发、进程状态、线程并发、协程并发,重点讲述了Go语言中的并发特性,如Goroutine及其创建。最后探讨了虚拟内存的工作原理,通过MMU映射虚拟地址到物理地址,解释了为何32位系统能运行占用超过物理内存大小的程序。
摘要由CSDN通过智能技术生成

|版权声明:本文为博主原创文章,未经博主允许不得转载。博客地址:https://blog.csdn.net/sgsgy5

并行和并发

今天我们来讲一下在计算机编程中并行和并发的意思
并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。
并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,通过cpu时间片轮转使多个进程快速交替的执行。
如果字面意思上不好理解的话那么我们可以来看一个例子就可以很轻松的理解出
大师曾以咖啡机的例子来解释并行和并发的区别。
这里写图片描述
并行是两个队列同时使用两台咖啡机 (真正的多任务)
并发是两个队列交替使用一台咖啡机 ( 假 的多任务)
在计算机上想要实现并行该怎么办,那么我们就要像图中一样增加硬件设备,那么计算机就要增加cpu,但是计算机的cpu是有限的,所以我们就要设计并发来实现在计算机cpu不变的情况下增加运算能力,这就是并发的字面意思。

常见并发编程技术

进程并发

程序和进程
程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(内存、打开的文件、设备、锁….)
进程,是一个抽象的概念,与操作系统原理联系紧密。进程是活跃的程序,占用系统资源。在内存中执行。(程序运行起来,产生一个进程)
程序 → 剧本(纸) 进程 → 戏 (舞台、演员、灯光、道具…)
同一个剧本可以在多个舞台同时上演。同样,同一个程序也可以加载为不同的进程(彼此之间互不影响)
如:同时开两个终端。各自都有一个bash但彼此ID不同。
在windows系统下,通过查看“任务管理器”,可以查看相应的进程。包括我们在基础班写的“飞机大战”等程序,运行起来后也可以在“任务管理器”中查看到。运行起来的程序就是一个进程。

进程状态

进程基本的状态有5种。分别为初始态,就绪态,运行态,挂起态与终止态。其中初始态为进程准备阶段,常与就绪态结合来看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值