最近空闲时间较多,翻译一下oracle官网对 并发以及并发涉及的知识点的说明
进程和线程(Processes and Threads)
并发编程设计有两个基本的执行单元:进程和线程。在java设计语言里,并发更多的是和线程相关,但是进程也同样重要。
计算机系统通常有许多活跃的进程和线程。甚至在只有一个单一的执行核心系统也有一个线程实际上执行在任何给定的时刻。处理时间为一个核心是通过一个操作系统进程和线程之间共享功能叫做时间切片。
计算机系统逐渐拥有多处理器和多内核,这大大增强了系统的进程和线程的并发执行的能力,但并发可能甚至在简单的系统,没有多处理器或执行内核。
进程(Processes)
进程运行于独立的执行环境。进程通常有一个完整的、独立的的基本运行时资源集,每个进程都会被分配独立的内存空间。进程往往被视为等同于程序或应用程序。大多数Java虚拟机的实现作为一个进程运行。
线程(Threads)
线程有时候也叫轻量的进程。无论是线程还是进程都会提供一个执行环境,但是一个线程依赖于进程创建的资源集。
线程存在于进程当中,每个进程至少拥有一个线程。线程共享进程的资源,包括内存和文件。
多线程执行是Java平台的一个基本特征。每个应用有一个或者多个线程。但从应用开发的角度来看,应用开始就有一个主线程main,main线程会创建额外的线程。