java--进程与线程

1.概念:进程是执行着的程序,线程是进程内部的一个执行序列。一个进程可以有多个线程,线程有叫做轻量级进程。

2.进程与线程之间的区别归纳:

 2.1 地址空间和其他资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其他进程中不可见。

 2.2 通信:进程间通信IPC(是指不同进程间传播和交换信息),线程间可以直接读写进程数据段(如全局变量)来进行通信--需要进程同步和互斥手段的辅助,以保证数据的一致性。

 2.3调度和切换:线程上下文切换比进程上下文切换要快得多。

 2.4在多线程OS中,进程不是一个可执行的实体。

3.补充:

 进程是资源分配的基本单位,线程是调度的基本单位。

 进程有独立的地址空间,一个进程崩溃后,会在保护模式下不会对其他进程产生影响;线程只是一个进程中的不同执行路径,线程中有自己的堆栈和局部变量(在运行中必不可少的资源 ),但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。所以多进程的程序要比多线程的程序要安全的多,但是在进程切换时,耗费的资源较大,效率要差一些。但是对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不同用进程。

posted @ 2020-09-22 10:30  未闻花名&2  阅读(112)  评论(0编辑  收藏  举报