多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] >[success] ## **goroutine入门案例** 请编写一个程序,完成如下功能: 1)在主线程(可以理解成进程)中,开启一个goroutine,该协程每隔1秒输出"hello,world" 2)在主线程中也每隔一秒输出"hello,golang",输出10次后,退出程序 3)要求主线程和goroutine同时执行 <br> ![](https://img.kancloud.cn/0e/2d/0e2d7babc59cf94388387c450fb39a87_1209x633.png) <br> **运行结果** ![](https://img.kancloud.cn/65/e4/65e45b78adaad4ab0d62d82c0e7005e0_1209x611.png) <br> 4)画出主线程和协程执行流程图 ![](https://img.kancloud.cn/21/36/21364dcce783cf36d5b8e7c63e1bc7f4_865x720.png) <br> <br> ### **入门案例小结:** 1)主线程是一个物理线程(**主线程是由操作系统控制的**),直接作用在cpu上的。是重量级的,非常耗费cpu资源。 2)协程从主线程开启的,是轻量级的线程,是逻辑态。对资源消耗相对小。 3)**Golang的协程机制是重要的特点,可以轻松的开启上万个协程**其它编程语言的并发机制是一般基于线程的,开启过多的线程,资源耗费大,这里就突显Golang在并发上的优势了