进程和线程的区别
- 进程时系统运行程序的基本单位。
- 在Java中,当我们启动main函数,其实就是启动了一个JVM的进程,而main函数所在的线程就是这个进程中的一个线程,也称主线程。
- 线程是进程中的一个执行单元
- 一个进程可以包含多个线程。
- 这些线程共享进程的内存空间和系统资源。
- 线程是操作系统调度的最小单位,它负责执行进程中的任务。
- 但是线程的并发执行也可能导致一些问题,如死锁等
- (多个线程共享进程的堆和JDK1.8之后的元空间)资源,但是每个线程有自己的程序计数器、虚拟机栈和本地方法栈)。
- 总结:
- 线程是进程划分成更小的运行单位,
- 一个进程在其执行的过程可以产生多个线程。
- 线程和进程最大不同在于
- 各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响
- 线程执行开销小,但不利于资源的管理和保护 而进程正相反。
源代码(.java) (->编译为) 字节码(.class)
- 线程独占:每个线程都会有它独立的空间,(虚拟机栈、本地方法栈、程序计数器)
- 线程共享:所有线程都能访问这块内存数据,随虚拟机或者GC创建和销毁。

浙公网安备 33010602011771号