Go-goroutine

进程和线程说明:

(1)进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。

(2)线程是进程的一个执行实例,是程序执行的最小单位,它是比进程更小的能独立运行的基本单位。

(3)一个进程可以创建销毁多个线程,同一个进程中的多个线程可以并发执行。

(4)一个程序至少有一个进程,一个进程至少有一个线程。

并发和并行:

(1)多线程程序在单核上运行就是并发。

(2)多线程程序在多核上运行就是并行。

Go协程和Go主线程:

(1)Go主线程:一个Go线程上可以起多个协程,协程是轻量级线程;

(2)Go协程的特点:

  • 有独立的栈空间
  • 共享程序堆空间
  • 调度由用户控制
  • 协程是轻量级线程

简单实例:

设置CPU使用个数:

资源竞争问题:

在运行某程序时,如何知道是否存在资源竞争问题?

资源竞争问题:

解决方法:使用互斥锁mutex

Original: https://www.cnblogs.com/vivianwenwen/p/15156041.html
Author: 温昀
Title: Go-goroutine

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585241/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球