Appearance
进程与线程(Process & Thread)
进程(Process)
进程可以理解为“正在运行的程序实例”。
- 有独立的内存空间。
- 进程之间默认互相隔离。
线程(Thread)
线程是进程内部的“执行单元”。
- 同一进程的线程共享内存。
- 线程之间切换更轻量。
为什么要区分
- 进程隔离更安全,但通信成本高。
- 线程共享更高效,但容易出现共享状态问题。
与 JavaScript 的关系
浏览器主线程是单线程执行 JS,但它可以创建 Worker 作为“后台线程”。
Node.js 也可以用 Worker Threads,但大多数代码仍是单线程事件循环模型。
进一步阅读
理解进程与线程能帮助你理解“并发、并行、隔离和共享”的差别。