Go从入门到精通——并发和并行区别

并发和并行

  并发和并行区别。

    • 并发(concurrency):把任务在不同的时间点交给处理器进行处理。在同一时间点,任务并不会同时运行。
    • 并行(parallelism):把每一个任务分配给每一个处理器独立完成。在同一时间点,任务一定是同时运行。

  Go 语言通过编译器运行时(runtime),在语言上支持了并发的特性。Go 语言的并发通过 goroutine 是由 Go 语言的运行时调度完成,而线程是由操作系统调度完成。

  Go 语言还提供 channel 在多个 goroutine 间进行通信。goroutine 和 channel 是 Go 语言秉承 CSP(Communicating Sequential Process)并发模式的重要实现基础。

 

posted @ 2022-05-10 23:12  左扬  阅读(45)  评论(0编辑  收藏  举报
levels of contents