zoukankan      html  css  js  c++  java
  • 并发入门

    Go 是并发式语言,而不是并行式语言。在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别。

    1 并发:同一时间段内,多个任务在执行(单个cpu,执行多个任务)
    2 并行:同一时刻,多个任务在执行(多个cpu的支持)

    并发是什么?

    并发是指立即处理多个任务的能力。一个例子就能很好地说明这一点。
    
    我们可以想象一个人正在跑步。假如在他晨跑时,鞋带突然松了。于是他停下来,系一下鞋带,接下来继续跑。
    这个例子就是典型的并发。这个人能够一下搞定跑步和系鞋带两件事,即立即处理多个任务。

    并行是什么?并行和并发有何区别?

    并行是指同时处理多个任务。这听起来和并发差不多,但其实完全不同。
    
    我们同样用这个跑步的例子来帮助理解。假如这个人在慢跑时,还在用他的 iPod 听着音乐。在这里,他是在跑步的同时听音乐,也就是同时处理多个任务。这称之为并行。

    Go 对并发的支持

    Go 编程语言原生支持并发。Go 使用 Go 协程(Goroutine) 和信道(Channel)来处理并发。
  • 相关阅读:
    vue 初始化项目模板报错
    092117-6265-01.dmp 蓝屏日志文件
    电信流氓注入JS
    DISM
    node.js
    Adobe ZXPInstaller 报错 Installation failed because of a file operation error.
    Microsoft Edge 针对 Web 开发人员更新日志
    What's new in Safari 11.0
    CSS Filter
    accept-language
  • 原文地址:https://www.cnblogs.com/ZhZhang12138/p/14886753.html
Copyright © 2011-2022 走看看