线程是指在程序执行过程中,能够执行程序代码的一个基本执行单位,每个程
序至少都有一个线程,也就是程序本身。
Java 中的线程有四种状态:运行、就绪、挂起、结束。
进程是程序的基本执行实体,是线线程的容器。
进程具有的特征:
动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态
产生,动态消亡的;
并发性:任何进程都可以同其他进程一起并发执行;
独立性:进程是系统进行资源分配和调度的一个独立单位;
结构性:进程由程序、数据和进程控制块三部分组成。
线程和进程的区别:
1、隶属关系:线程是进程中的一部分,一个进程中可以包含若干个线程。进
程可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
2、地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进
程内的线程在其它进程不可见。在引入线程的操作系统中,通常都是把进程作
为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
3、进程间通信:线程间可以直接读写进程数据段(如全局变量)来进行通信。
需要进程同步和互斥手段的辅助,以保证数据的一致性。
4、调度和切换:线程上下文切换比进程上下文切换要快得多
序至少都有一个线程,也就是程序本身。
Java 中的线程有四种状态:运行、就绪、挂起、结束。
进程是程序的基本执行实体,是线线程的容器。
进程具有的特征:
动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态
产生,动态消亡的;
并发性:任何进程都可以同其他进程一起并发执行;
独立性:进程是系统进行资源分配和调度的一个独立单位;
结构性:进程由程序、数据和进程控制块三部分组成。
线程和进程的区别:
1、隶属关系:线程是进程中的一部分,一个进程中可以包含若干个线程。进
程可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
2、地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进
程内的线程在其它进程不可见。在引入线程的操作系统中,通常都是把进程作
为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
3、进程间通信:线程间可以直接读写进程数据段(如全局变量)来进行通信。
需要进程同步和互斥手段的辅助,以保证数据的一致性。
4、调度和切换:线程上下文切换比进程上下文切换要快得多