【go基础】协程管理

从一个错误案例开始起因是在工作中看到一段代码,感觉是程序遇到异常而卡住的原因,起了两个协程,其中一个等待另一个完成后开始,二者通过channel进行消息传递。后一个协程在完成时使用了goto语句。程序最后为select{}永久卡死,等待前面启动的两个协程去跑完就完事了。 原来的代码(铁有问题,不能用在生产上): 123456789101112131415161718 ticker := ti...

【Go基础】并发编程基本概念

并发编程基本概念串行、并发与并行 串行:我们都是先读小学,小学毕业后再读初中,读完初中再读高中。 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 进程、线程和协程 进程(process):程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 线程(thread):操作系统基于进程开启的轻量级...

【Go基础】Go入门与实践资源帖

看到好的持续更新…… Go系统教程 从语法讲起:李文周博客 七天快速上手项目 Go测试驱动开发博客 孔令飞项目开发实战课程,孔令飞图文教程 《Go 语言高级编程》书籍 Go算法刷题模板 Go实战项目 KV系统 crawlab分布式爬虫平台 seaweedfs分布式文件系统 Cloudreve云盘系统 gfast后台管理系统(基于Go Frame) alist多存储文件列表(基于Gin、Re...