龙空技术网

线程和进程有什么区别

智能进阶 58

前言:

目前看官们对“java线程和进程的区别在哪里”大约比较注意,我们都想要知道一些“java线程和进程的区别在哪里”的相关资讯。那么小编也在网上收集了一些关于“java线程和进程的区别在哪里””的相关知识,希望大家能喜欢,兄弟们快快来了解一下吧!

线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

创建线程的开销要比进程小很多,因为创建线程仅仅需要堆栈指针程序计数器就可以了,而创建进程需要操作系统分配新的地址空间,数据资源等,这个开销比较大。

一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。线程其实就是进程中的单条流向,因为线程具有进程中的某些属性,所以线程又被称为轻量级的进程。浏览器如果是一个进程的话,那么浏览器下面的每个 tab 页可以看作是一个个的线程。

进程和线程的关系:

一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。资源分配给进程,同一进程的所有线程共享该进程的所有资源。处理机分给线程,即真正在处理机上运行的是线程。线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体.线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU。

标签: #java线程和进程的区别在哪里