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

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

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

img_fc8615017503124f18427899b54e42bf.png

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

例题


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


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


img_4aa3a5a7e99c80bae1a951a7531a99e9.png
目录
相关文章
|
2月前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
15天前
|
数据采集 监控 Java
go语言编程学习
【11月更文挑战第3天】
31 7
|
13天前
|
Go 调度 开发者
探索Go语言中的并发模式:goroutine与channel
在本文中,我们将深入探讨Go语言中的核心并发特性——goroutine和channel。不同于传统的并发模型,Go语言的并发机制以其简洁性和高效性著称。本文将通过实际代码示例,展示如何利用goroutine实现轻量级的并发执行,以及如何通过channel安全地在goroutine之间传递数据。摘要部分将概述这些概念,并提示读者本文将提供哪些具体的技术洞见。
|
25天前
|
设计模式 测试技术 Go
学习Go语言
【10月更文挑战第25天】学习Go语言
21 4
|
29天前
|
Java 大数据 Go
Go语言:高效并发的编程新星
【10月更文挑战第21】Go语言:高效并发的编程新星
49 7
|
24天前
|
并行计算 安全 Go
Go语言的并发特性
【10月更文挑战第26天】Go语言的并发特性
12 1
|
1月前
|
安全 Go 调度
探索Go语言的并发模式:协程与通道的协同作用
Go语言以其并发能力闻名于世,而协程(goroutine)和通道(channel)是实现并发的两大利器。本文将深入了解Go语言中协程的轻量级特性,探讨如何利用通道进行协程间的安全通信,并通过实际案例演示如何将这两者结合起来,构建高效且可靠的并发系统。
|
1月前
|
安全 Go 开发者
破译Go语言中的并发模式:从入门到精通
在这篇技术性文章中,我们将跳过常规的摘要模式,直接带你进入Go语言的并发世界。你将不会看到枯燥的介绍,而是一段代码的旅程,从Go的并发基础构建块(goroutine和channel)开始,到高级模式的实践应用,我们共同探索如何高效地使用Go来处理并发任务。准备好,让Go带你飞。
|
1月前
|
安全 Go 调度
探索Go语言的并发之美:goroutine与channel
在这个快节奏的技术时代,Go语言以其简洁的语法和强大的并发能力脱颖而出。本文将带你深入Go语言的并发机制,探索goroutine的轻量级特性和channel的同步通信能力,让你在高并发场景下也能游刃有余。
|
1月前
|
Go 数据处理 调度
Go语言中的并发模型:解锁高效并行编程的秘诀
本文将探讨Go语言中独特的并发模型及其在现代软件开发中的应用。通过深入分析 Goroutines 和 Channels,我们将揭示这一模型如何简化并行编程,提升应用性能,并改变开发者处理并发任务的方式。不同于传统多线程编程,Go的并发方法以其简洁性和高效性脱颖而出,为开发者提供了一种全新的编程范式。