Skip to content

Latest commit

 

History

History
49 lines (47 loc) · 1.34 KB

README.md

File metadata and controls

49 lines (47 loc) · 1.34 KB

并发编程(goroutine)

参考文章 参考书: go语言并发编程

1. 并发编程与操作系统线程模型
  1. 什么是并发?
  2. 串行、并发、并行的区别?
  3. 为什么要使用并发编程?
  4. 并发编程是怎么实现的?
  5. 并发编程有什么风险?
  6. 什么时候适合使用并发编程?
  7. 操作系统怎么实现并发?
  8. 什么是进程?
  9. 什么是线程?
  10. 进程和程序的区别
  11. 操作系统(3种程实现模型)
      11.1. 用户级线程模型
      11.2. 内核级线程模型
      11.3. 两级线程模型
2. 并发问题
  1. 竞态条件
  2. 临界区
  3. 原子操作
  4. 互斥
  5. 进程通信方式
    5.1 管道
    5.2 信号
    5.3 共享内存
  6. 同步与异步
  7. 堵塞与非堵塞
  8. 死锁、饥饿锁、活锁
    8.1 死锁
    8.2 饥饿锁
    8.3 活锁
  9. 线程安全与不安全和可重入函数
    9.1 线程安全
    9.2 线程不安全
    9.3 可重入函数
  10. 条件变量
3. go语言并发
  1. goroutine(协程)
  2. goroutine(协程)与chan(通道)
  3. 竞态示例