goroutine和channel频繁使用的性能代价?

来源:3-3 归并节点

90设计工作室

2018-01-04 11:40

在接收数据源、排序、归并时,多次使用goroutine和channel , 数据量大了会不会对性能造成影响?

写回答 关注

1回答

  • leyou240
    2018-01-08 18:12:08

    一个进程可轻松创建数十万计的协程——许式伟

    Goroutine是Go里的一种轻量级线程——协程。相对线程,协程的优势就在于它非常轻量级,进行上下文切换的代价非常的小。对于一个goroutine ,每个结构体G中有一个sched的属性就是用来保存它上下文的。这样,goroutine 就可以很轻易的来回切换。由于其上下文切换在用户态下发生,根本不必进入内核态,所以速度很快。而且只有当前goroutine 的 PC, SP等少量信息需要保存。

搭建并行处理管道,感受GO语言魅力

通过搭建并行数据处理管道,展示go语言在并发编程方面的优势

19359 学习 · 78 问题

查看课程

相似问题