https://blog.csdn.net/cj_lsk/article/details/130206945
当一个程序启动时,就有一个进程被操作系统(OS)创建,与此同时一个线程也立刻运行,该线程通常叫做程序的主线程(Main Thread),因为它是程序一开始时就运行的线程。
https://blog.csdn.net/Crocodile1006/article/details/140160755
进程 vs. 线程:核心区别对比表
| 特性 | 进程 | 线程 |
|---|---|---|
| 基本定义 | 资源分配和拥有的基本单位 | 程序执行的基本单位(CPU调度的基本单位) |
| 资源开销 | 大(创建、切换、销毁慢) | 小(创建、切换、销毁快) |
| 内存空间 | 拥有独立的虚拟地址空间,内存隔离 | 共享所属进程的内存和资源(堆、全局变量) |
| 通信机制 | 复杂,需要进程间通信(IPC),如管道、信号、共享内存、消息队列等 | 简单,可直接通过共享的全局变量、内存进行通信 |
| 健壮性 | 高,一个进程崩溃不影响其他进程 | 低,一个线程崩溃可能导致整个进程崩溃,影响同进程所有线程 |
| 并发性 | 进程间可以并发/并行执行 | 线程间可以并发/并行执行,且上下文切换效率更高 |
| 资源分配 | 操作系统为每个进程独立分配资源(内存、文件句柄、I/O设备等) | 线程共享进程的资源,仅拥有少量独立资源(如栈、寄存器、程序计数器) |
| 比喻 | 一个独立的工厂,拥有自己的土地、仓库和资源 | 工厂中的一条条流水线,共享工厂的场地和资源 |
0 条评论