一看就懂系列之Golang的goroutine和通道
https://blog.csdn.net/u011957758/article/details/81159481 前言 如果说php是最好的语言,那么golang就是最并发的语言。 支持golang的并发很重要的一个是goroutine的实现,那么本文将重点围绕goroutine来做一下相关的笔记,以便日后快速留恋。 10s后,以下知识点即将靠近: 1.从并发模型说起 2.goroutine的简介 3.goroutine的使用姿势 4.通道(channel)的简介 5.重要的四种通道使用 6.goroutine死锁与处理 7.select的简介 8.select的应用场景 9.select死锁 正文 1.从并发模型说起 看过很多大神简介,各种研究高并发,那么就通俗的说下并发。 并发目前来看比较主流的就三种: 1.多线程 每个线程一次处理一个请求,线程越多可并发处理的请求数就越多,但是在高并发下,多线程开销会比较大。 2.协程 无需抢占式的调度,开销小,可以有效的提高线程的并发性,从而避免了线程的缺点的部分 3.基于异步回调的IO模型 说一个熟悉的,比如nginx使用的就是epoll模型,通过事件驱动的方式与异步IO回调,使得服务器持续运转,来支撑高并发的请求 为了追求更高效和低开销的并发,golang的goroutine来了。 2.goroutine的简介 定义: 在go里面