开发者学堂课程【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数字进行分配处理。
分配越多则处理花费时间越少。