GO语言学习笔记之并发

1. 并发
  • 并行(parallel): 指在同一时刻,有多条指令在多个处理器上同时执行;借助多核CPU实现。真并行
  • 并发(concurrency):指在用以时刻,只有有一条指令执行,但多个进程指令被快速轮换执行,是的在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,通过CPU时间片轮转使多个进程快速交替的执行。假并行
    • eg:并行是两个队列同时使用两台咖啡机;并发是两个队列交替使用同一台咖啡机。
    • 由于并行是物理层面的技术,我们之研究并发。
2. 进程与线程
  • 进程并发:

    • (1)程序:编译成功的二进制文件,会占用磁盘空间。
    • (N)进程:运行起来程序,占用系统资源;由程序产生;
      • 用户内存存储在堆上。
  • 进程状态:有5种,创建态,就绪态(登台CPU分配时间片),运行态(占用CPU),阻塞态(等待除CPU外的其它资源主动放弃CPU)与终止态。

  • LWP:轻量级进程->lower weight processer;
    • Windows下可以忽略进程的概念,只谈线程,因为线程是最小的执行单位,是被系统独立调度和分派的单位。而进程只是给线程提供执行环境。
  • 线程是最小执行单位;进程是最小资源分配单位。
  • 进程同步:协同步调,规划先后顺序。在一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其它线程为保证数据一致性,不能调用该功能。
    • 同步的目的是,是为了避免数据混乱,解决时间有关的错误。
    • 线程同步机制:
      • 互斥锁mutex:建议锁,拿到锁之后,才能访问数据,没有拿到锁的线程阻塞等待,拿到锁的线程释放锁。
      • 读写锁:写独占,读共享。写锁优先级高。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值