javaSE_8系列博客——重要的基础Java类——多线程--2--进程和线程
来源:互联网 发布:美国新屋开工数据 编辑:程序博客网 时间:2024/05/22 16:58
引言:
在并发编程中,有两个基本的执行单元:进程和线程。在Java编程语言中,并发编程主要关心线程。但是,进程也很重要。
计算机系统通常具有许多活动进程和线程。即使在只有单个执行核心的系统中也是如此,因此只有一个线程在任何给定的时刻实际执行。单个核心的处理时间通过称为时间分片的OS功能在进程和线程之间共享。
计算机系统拥有多个处理器或具有多个执行核心的处理器变得越来越普遍。这大大增强了系统并行执行进程和线程的能力 - 但是即使在简单的系统上也可以并行,即使没有多个处理器或执行核心。
进程
进程具有独立的执行环境。一个进程通常有一套完整的私人基础运行时资源;特别是每个进程都有自己的内存空间。 流程通常被视为程序或应用程序的同义词。然而,用户将其视为单个应用程序可能实际上是一组协作过程。
为了促进流程之间的通信,大多数操作系统支持Inter Process Communication(IPC)资源,例如管道和套接字。 IPC不仅用于同一系统上的进程之间的通信,而且用于不同系统上的进程。
Java虚拟机的大多数实现作为单个进程运行。 Java应用程序可以使用ProcessBuilder对象创建其他进程。多处理应用程序超出了本课的范围。
线程
线程有时称为轻量级进程。进程和线程都提供一个执行环境,但创建一个新的线程比创建一个新的进程需要更少的资源。 线程存在于一个进程中 - 每个进程至少有一个进程。
线程共享进程的资源,包括内存和打开的文件。这使得有效但可能有问题的通信。 多线程执行是Java平台的一个基本特征。
每个应用程序至少有一个线程,如果您计算“系统”线程,执行内存管理和信号处理。但是从应用程序员的角度来看,你只需要一个线程。
- javaSE_8系列博客——重要的基础Java类——多线程--2--进程和线程
- javaSE_8系列博客——重要的基础Java类——多线程--1--宏观把控
- javaSE_8系列博客——重要的基础Java类——Excavations(异常处理机制)--2--什么是异常?
- javaSE_8系列博客——重要的基础Java类——Excavations(异常处理机制)--1--宏观把控
- javaSE_8系列博客——重要的基础Java类——Exceptions(异常处理机制)--4--总结
- javaSE_8系列博客——重要的基础Java类——Excavations(异常处理机制)--3--捕捉异常或指定要求
- javaSE_8系列博客——Java语言的特性(三)--类和对象(2)--类(宏观概述)
- javaSE_8系列博客——Java语言的特性(三)--类和对象(3)--类的声明
- javaSE_8系列博客——Java语言的特性(三)--类和对象(13)--理解类的成员
- javaSE_8系列博客——Java语言的特性(三)--类和对象(9)--对象的创建
- javaSE_8系列博客——Java语言的特性(三)--类和对象(10)--对象的使用
- javaSE_8系列博客——Java语言的特性(三)--类和对象(15)--嵌套类
- javaSE_8系列博客——Java语言的特性(三)--类和对象(1)--概述
- javaSE_8系列博客——Java语言的特性(三)--类和对象(4)--声明成员变量
- javaSE_8系列博客——Java语言的特性(三)--类和对象(5)--定义方法
- javaSE_8系列博客——Java语言的特性(三)--类和对象(8)--对象
- javaSE_8系列博客——Java语言的特性(三)--类和对象(11)--从方法返回值
- javaSE_8系列博客——Java语言的特性(三)--类和对象(12)--使用this关键字
- windows 2008 命令行 控制 防火墙 入站 出站 规则
- Redis Sentinel机制与用法说明
- 在lua环境中使用protobuf
- 在IntelliJ idea中使用fiddler捕获Web请求
- 事务无法回滚(mysql数据库存储引擎问题)
- javaSE_8系列博客——重要的基础Java类——多线程--2--进程和线程
- Android--百度地图学习笔记(一)
- 括号配对问题
- Java学习路线
- js中的事件委托或是事件代理详解
- 推荐技术资料
- Node.js的初探
- 自定义属性入门和详解
- python发邮件之报授权码的错误