先看这张Java内存区域图 一个进程可以有多个线程,但一个线程只能属于一个进程。 多个线程可以共享进程中的堆和方法区的资源,但是每个线程又可以有自己的程序计数器、虚拟机栈和本地方法栈。 总结一下:线程是进程划分的更小的运行单位,一个进程在其执行过程中可以产生多个线程。 区别 1、进程的线程最大的区别是基本每个进程都是相互独立的,但是线程则不一定,因为一个进程中的线程很可能会相互影响。 2、线程执行开销小,但是不利于资源的管理和保护;进程则相反。