摘要: 中间件形式2:函数形式 阅读全文
posted @ 2018-01-10 20:01 无天666 阅读(237) 评论(0) 推荐(0)
摘要: 上面的代码中还做了程序运行时间统计。作为对比,下面是一个没有使用pool的版本。 阅读全文
posted @ 2018-01-10 17:07 无天666 阅读(1090) 评论(0) 推荐(0)
摘要: go提供了sync包和channel来解决协程同步和通讯。新手对channel通道操作起来更容易产生死锁,如果时缓冲的channel还要考虑channel放入和取出数据的速率问题。 从字面就可以理解,sync.WaitGroup是等待一组协程结束。它实现了一个类似任务队列的结构,你可以向队列中加入任务,任务完成后就把任务从队列中移除,如果队列中的任务没有全部完成,队列就会触发阻塞以阻止程序继续运... 阅读全文
posted @ 2018-01-10 16:07 无天666 阅读(509) 评论(0) 推荐(0)
摘要: 个人觉得goroutine是Go并行设计的核心,goroutine是协程,但比线程占用更少。golang对并发的处理采用了协程的技术。golang的goroutine就是协程的实现。 十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩也就是说,当传... 阅读全文
posted @ 2018-01-10 15:20 无天666 阅读(528) 评论(0) 推荐(0)