goroutine 的引出 | 学习笔记

简介: 快速学习 goroutine 的引出

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程goroutine 的引出】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/626/detail/9745


goroutine 的引出


一,需求

goroutine-看一个需求
需求:要求统计1-20000的数字中,哪些是素数?
分析思路:
传统的方法,就是使用一个循环,循环的判断各个数是不是素数。

对1-20000数字进行循环用循环来判断
如果要模拟更大的数,会花费更多的时间

首先,先看一个需求,引出这个 green ,那么需求要求统计一到2万的数字中。统计一到1万到2万的数字中,哪些是素数。如果没有学 group,或者以现有的知识结构以及现有的知识储备来解决传统的方法就是使用循环,对1到2万这个数字循环,那么循环之后,把这个数据取出来。从二到 N 减一,进行一个取模。这个二到 N 减一。如果在这个磨的过程中,到 N 减一,一个一个都没有出,此时就是个数,否则就不是一个输出,所以传统思路非常简单,就是用循环来判断。这种传统思路应该都可以完成,但也可以写代码。这只是2万个数字,如果要求你完成1大量数字的判断,时间会很长。
使用并发或者并行的方式,将统计素数的任务分配给多个 goroutine 去完成, 这时就会使用到 goroutine.
对1-20000数字进行分配处理
分配越多则处理花费时间越少

相关文章
|
1月前
|
调度
正确理解协程
正确理解协程
|
20天前
|
安全 Go 调度
探索Go语言的并发之美:goroutine与channel
在这个快节奏的技术时代,Go语言以其简洁的语法和强大的并发能力脱颖而出。本文将带你深入Go语言的并发机制,探索goroutine的轻量级特性和channel的同步通信能力,让你在高并发场景下也能游刃有余。
|
4月前
|
消息中间件 程序员 调度
如何区分进程、线程和协程?看这篇就够了!
以下是内容摘要,已简化并保持在240字符以内: 嗨,我是小米!今天聊聊进程、线程和协程: - **进程**:资源分配基本单位,独立且隔离。 - **线程**:进程内执行单元,轻量级且共享资源。 - **协程**:比线程更轻量,适合I/O密集型任务。 每种都有独特特点和适用场景,选择合适可优化性能。希望对你有所帮助!更多内容,请关注我的公众号“软件求生”。
129 1
|
6月前
|
安全 Java
一文搞懂线程!!
一文搞懂线程!!
40 6
一文搞懂线程!!
|
6月前
|
程序员 Go 数据处理
|
6月前
|
Go 调度 Python
Goroutine和coroutine区别,这一篇就够了
Goroutine和coroutine区别,这一篇就够了
133 0
终于明白:有了线程,为什么还要有协程?
其实,在早期计算机并没有包含操作系统,这个时候,这个计算机只跑一个程序,这个程序独享计算机的所有资源,这个时候不存在什么并发问题,但是对计算机的资源来说,确实是一种浪费。早期编程都是基于单进程来进行,随着计算机技术的发展,于是,操作系统出现了,操作系统改变了这种现状,让计算机可以运行多个程序,并且不同的程序占用独立的计算机资源,如内存,CPU等。
|
数据采集 算法 安全
深入探究进程、线程和协程:并发编程的三重境界
深入探究进程、线程和协程:并发编程的三重境界
|
网络协议 Go
Go语言学习编程实践:goroutine实现并发时钟服务器
Go语言学习编程实践:goroutine实现并发时钟服务器
143 0
|
Java API 调度

相关实验场景

更多