golang语言并发编程核心理念

一、并发编程综述

  1. 并发编程的含义,基于独立程序的(多线程编程),一台计算机(多进程编程),基于一个网络(分布式计算)

二、并发编程基础

  1. 并发编程思想来源于多元程序(多任务)操作系统。多任务操作系统允许同时运行多个程序。
  2. 单任务操作系统中,任务是被一个接一个的读取,处理并运行的。各个任务的执行完全串行**。**

三、串行程序与并发程序

  1. 串行程序指 一个只能被顺序执行的指令列表。
  2. 并发程序指 被并发执行的俩个以上的串行程序的总称,允许串行程序运行在一个或多个cpu上,叫多元程序。
  3. 多元程序由操作系统内核支持并提供多个 串行程序复用cpu的方法。叫多元处理。
  4. 多元处理指 计算机的多个cpu共用一个内存,同一时刻多个串行程序分别运行在不同的cpu上。

四、并发程序与并行程序

  1. 并发程序指可以被同时发起执行的程序。
  2. 并行程序指可以被同时运行在多个cpu上的并发程序。

五、并发程序与并发系统

  1. 并发程序属于程序,包含多个模块,模块之间紧密关联,可以在概念上看作是一个整体。
  2. 模块之间可以通过协议通信,并且是松散耦合的。可以看作是一个系统。
  3. 并发系统可能是并行的,多个模块可以同时在不同的硬件上运行。

六、并发程序的不确定性

  1. 串行程序的所有活动是有先后顺序,固定的。
  2. 并发程序中的活动是部分有序,其余部分的活动顺序没有明确指定。即不确定性。
  3. 不确定性 导致了 并发程序的每次运行的活动执行路径是不同的。

七、并发程序内部的交互

  1. 并发程序包含多个模块,每个模块可以看作是一个串行程序。
  2. 串行程序之间可能存在交互的情况,如串行程序对一个共享的资源进行访问。如相互之间传递数据。
  3. 串行程序之间的交互,要求我们协调他们的执行,就涉及到了同步。
  4. 同步的作用是避免并发访问共享资源(临界区)时可能存在的冲突。
  5. 同步的原则,程序在使用共享资源,要先请求资源 并获得访问权限。当程序不在使用时,应该释放该资源。程序对资源的请求不应该导致其他正在访问该资源的程序中断。
  6. 传递数据,属于并发程序内部的通讯。协调内部通信的方式除了同步还有异步
  7. 异步指数据不加延时的把数据发送给对方,即使数据的接收方还没有做好准备。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小哥(xpc)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值