进程和线程说明:
(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/
转载文章受原作者版权保护。转载请注明原作者出处!