JUC学习-2-进程、线程、纤程(协程)基本概念

JUC学习-进程、线程、纤程(协程)基本概念

一、什么是进程:

官方说法: 在操作系统中,进程是基本的资源分配单位,操作系统通过进程来管理计算机的资源,如CPU、内存、磁盘等。每个进程都会有一个唯一的进程标识符(PID),用于区分不同的进程。

通俗说法: 可以看作是正在执行的程序 如QQ.exe

例如:

当wechat.exe未被执行的时候,只是一个“死”的可执行文件,当执行文件以后,操作系统就会为其创建一个进程,并非陪cpu 内存 磁盘等...

image

二、什么是线程:

一个进程可以包含多个线程,每个线程都可以独立执行不同的任务,但它们共享进程的资源。

一个CPU核心自能运行一个线程,也就是CPU内核和同时运行的线程数是1:1的关系,也就是说8核CPU同时可以执行8个线程代码

image

三、什么是纤程(协程):

Java19才支持纤程

或者使用第三方协程库quasar

底层角度:

1、协程可以再一个线程内部创建多个协程,这些协程之间可以共享同一个线程资源

2、协程是在同一个进程内部运行的,不需要操作系统介入,可以在用户空间内(如JVM)实现协作式多任务处理,因此协程的创建核销毁开销很小,可以更高效地利用资源系统。

总结:

先有进程(最小资源分配单位 分配CPU 内存...),进程可以创建线程,线程是依附在进程里面的。线程里面可以包含多个协程

进程之间不共享全局变量,线程之间共享全局变量,但是要注意资源竞争的问题

posted @ 2025-06-17 10:36  skystrivegao  阅读(15)  评论(0)    收藏  举报