Go——小白学习之并发和并行

简介: 对于新手小白来说其实有点难理解并发和并行的定义,也让男票讲了很多遍才懂,才发现以后的路程任重道远,以下为并发的定义,建议不懂的时候画图,这个对于小白来说不能死抠定义,让有经验的人来解释会理解的更快go里用go协程和信道解决并发问题,其实...

对于新手小白来说其实有点难理解并发和并行的定义,也让男票讲了很多遍才懂,才发现以后的路程任重道远,以下为并发的定义,建议不懂的时候画图,这个对于小白来说不能死抠定义,让有经验的人来解释会理解的更快

img_fc8615017503124f18427899b54e42bf.png

go里用go协程和信道解决并发问题,其实我还是有一个地方不懂,就是协程和线程的区别在哪里,从某位博客里看到如是说:一个线程可以多个协程,一个进程也可以单独拥有多个协程,线程进程都是同步机制,而协程则是异步,协程能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次的调用的状态

例题


img_d7c2ecdfe52f2cb926d5bde79f65393c.png
因为for是个死循环,如果在go newTask后面读取信道的话,会一直执行 newTask  函数,如果在main函数最后读取信道的话,会按照系统自己的意愿可能执行 newTask,也可能执行main函数,这个比较好理解信道和协程


例题:求出一个数的平方和与立方和(用协程信道方式)


img_4aa3a5a7e99c80bae1a951a7531a99e9.png
目录
相关文章
|
1月前
|
Go 调度 开发者
CSP模型与Goroutine调度的协同作用:构建高效并发的Go语言世界
【2月更文挑战第17天】在Go语言的并发编程中,CSP模型与Goroutine调度机制相互协同,共同构建了高效并发的运行环境。CSP模型通过通道(channel)实现了进程间的通信与同步,而Goroutine调度机制则确保了并发任务的合理调度与执行。本文将深入探讨CSP模型与Goroutine调度的协同作用,分析它们如何共同促进Go语言并发性能的提升。
|
2月前
|
存储 安全 Java
浅谈Go并发原语
浅谈Go并发原语
35 0
|
2月前
|
并行计算 算法 安全
通过三个例子,学习 Go 语言并发编程的利器 - goroutine
通过三个例子,学习 Go 语言并发编程的利器 - goroutine
40 0
|
3月前
|
安全 Go
Go语言并发新特性:单向通道的读写控制
Go语言并发新特性:单向通道的读写控制
41 0
|
3月前
|
数据采集 安全 Go
Go并发优化的9大技巧,效果立竿见影
Go并发优化的9大技巧,效果立竿见影
56 0
|
1月前
|
SQL 前端开发 Go
编程笔记 GOLANG基础 001 为什么要学习Go语言
编程笔记 GOLANG基础 001 为什么要学习Go语言
|
1月前
|
程序员 Go 数据处理
|
1月前
|
SQL Go 数据库
【Sentinel Go】新手指南、流量控制、熔断降级和并发隔离控制
【2月更文挑战第12天】随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
56 0
|
1月前
|
监控 Java 编译器
Go语言内存与并发性能综合优化策略
【2月更文挑战第11天】Go语言以其高效的并发处理能力和简洁的内存管理机制成为了现代软件开发中的热门选择。然而,在实际应用中,如何综合优化Go程序的内存使用和并发性能,仍然是一个值得探讨的话题。本文将深入探讨Go语言内存与并发性能的综合优化策略,包括内存布局优化、并发模式设计、资源池化以及性能监控与分析等方面,旨在帮助开发者全面提升Go程序的整体性能。
|
1月前
|
Java Go 调度
Go语言并发性能提升实战
【2月更文挑战第11天】Go语言以其出色的并发处理能力在高性能应用中占据了一席之地。然而,要想充分利用Go的并发优势,实现性能的最大化,还需要掌握一些关键的优化技巧。本文将深入探讨Go语言并发性能提升的关键技术,包括goroutine调度、channel使用、sync原语选择等方面,帮助开发者更好地理解和优化Go程序的并发性能。