Java中Process和Thread之间的区别

1)用Java处理

  • 进程是操作系统的一部分。

  • 工艺很重。

  • 分配给进程的空间是分开的。

  • 每个过程都是独立的,这意味着同时一个过程正在从Internet资源下载文件,第二个过程是用户在后台听音乐,第三个过程是用户在ms-office中工作。

  • 流程之间没有相互关系。多个进程可以同时运行。

  • 每个过程都需要资源来执行程序。

  • 进程具有虚拟地址空间,可执行代码,系统对象的开放句柄(即,简单地说,它为代码,数据,堆栈,寄存器等分配空间)。

2)Java中的线程

  • 线程也是操作系统的一部分。

  • 线程是一个轻量级的过程。

  • 没有为线程分配空间,这意味着它是进程的子部分。

  • 每个线程都不是一个单独的线程,这意味着线程是程序的独立部分(换句话说,我们可以将线程作为同一程序的子部分)。

  • 线程之间存在相互关系。(简单来说,我们有一个大项目,并且在它们的几个模块中,所以我们可以借助线程概念来将一个大项目划分为多个线程,然后将线程分成一个小组工作,但基本上我们试图说这是项目的一部分)。

  • 建议使用线程以提高性能并减少吞吐量。

  • 线程是进程中的一个实体,可以安排执行。

  • 线程还共享其虚拟地址空间和系统资源。

  • 线程有多种职责,例如异常处理,调度优先级,线程本地存储等。