Go语言并发

Go语言并发学习目标

出色的并发性是Go语言的特色之一

  • • 理解并发与并行
  • • 理解进程和线程
  • • 掌握Go语言中的Goroutine和channel
  • • 掌握select分支语句
  • • 掌握sync包的应用

并发与并行

并发与并行的概念这里不再赘述,
可以看看之前java版写的并发实践;

进程和线程

程序、进程与线程这里也不赘述
一个进程可以包括多个线程,线程是容器中的工作单位;

协程~Goroutine

概念:

协程(Coroutine),最初在1963年被提出,又称为微线程,是一种比线程更加轻量级的存在。正如一个进程可以拥有多个线程,一个线程也可以拥有多个协程;

协程是编译器级的进程和线程是操作系统级的

协程不被操作系统内核管理,而完全由程序控制,因此没有线程切换的开销。和多线程比,线程数量越多,协程的性能优势就越明显。协程的最大优势在于其轻量级,可以轻松创建上万个而不会

你可能感兴趣的:(golang,java,开发语言)