进程与线程区别联想
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。
下图可以看出,进程就像一个大容器,将线程包在里面,线程则是一顿具体操作。
上图可以让人联想到jvm在类加载的过程,那么其实一个线程就是一个类(各种进行操作),如果没有其他线程就是主线程加载咯。
相对于程序来说,内存地址都是逻辑地址。一个进程中的多个线程就会共享这部分逻辑内存(程序编译的时候产生,利用操作系统的寻址方面知识找到对应的物理地址),这样就清楚了为什么说进程是资源分配的最小单位,线程则是cpu调度的最小单位(编程中可以看出来)。