您的位置:首页 > 编程语言 > Java开发

javaSE_8系列博客——重要的基础Java类——多线程--2--进程和线程

2017-07-06 17:54 525 查看

引言:

在并发编程中,有两个基本的执行单元:进程和线程。在Java编程语言中,并发编程主要关心线程。但是,进程也很重要。

计算机系统通常具有许多活动进程和线程。即使在只有单个执行核心的系统中也是如此,因此只有一个线程在任何给定的时刻实际执行。单个核心的处理时间通过称为时间分片的OS功能在进程和线程之间共享。

计算机系统拥有多个处理器或具有多个执行核心的处理器变得越来越普遍。这大大增强了系统并行执行进程和线程的能力 - 但是即使在简单的系统上也可以并行,即使没有多个处理器或执行核心。

进程

进程具有独立的执行环境。一个进程通常有一套完整的私人基础运行时资源;特别是每个进程都有自己的内存空间。 流程通常被视为程序或应用程序的同义词。然而,用户将其视为单个应用程序可能实际上是一组协作过程。

为了促进流程之间的通信,大多数操作系统支持Inter Process Communication(IPC)资源,例如管道和套接字。 IPC不仅用于同一系统上的进程之间的通信,而且用于不同系统上的进程。

Java虚拟机的大多数实现作为单个进程运行。 Java应用程序可以使用ProcessBuilder对象创建其他进程。多处理应用程序超出了本课的范围。

线程

线程有时称为轻量级进程。进程和线程都提供一个执行环境,但创建一个新的线程比创建一个新的进程需要更少的资源。 线程存在于一个进程中 - 每个进程至少有一个进程。

线程共享进程的资源,包括内存和打开的文件。这使得有效但可能有问题的通信。 多线程执行是Java平台的一个基本特征。

每个应用程序至少有一个线程,如果您计算“系统”线程,执行内存管理和信号处理。但是从应用程序员的角度来看,你只需要一个线程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java se 多线程
相关文章推荐