Java线程编程入门:概念、创建与使用
1. 线程相关基础概念
在深入探讨线程之前,我们需要先理解一些与之相关的基础概念,如程序、进程、多任务处理、顺序编程和并发编程等。
- 程序 :程序是用编程语言表达的算法。它是静态的代码集合,等待被执行。
- 进程 :进程是程序的运行实例,操作系统会为其分配所有必要的系统资源。通常,一个进程包含唯一标识符、程序计数器、可执行代码、地址空间、对系统资源的开放句柄、安全上下文等。程序计数器(也称为指令指针)是CPU寄存器中维护的值,用于跟踪CPU正在执行的指令,在指令执行结束时会自动递增。我们可以将进程视为操作系统内的一个活动单元、工作单元、执行单元或执行路径。进程的概念使得计算机系统能够支持多个执行单元。
- 多任务处理 :多任务处理是操作系统同时执行多个任务(或进程)的能力。在单CPU机器上,真正意义上的多任务处理是不可能的,因为一个CPU一次只能执行一个进程的指令。在这种情况下,操作系统通过将单个CPU时间分配给所有运行的进程,并在进程之间快速切换,给人一种所有进程都在同时运行的错觉。CPU在进程之间的切换称为上下文切换。在上下文切换中,正在运行的进程会被停止,其状态会被保存,即将获得CPU的进程的状态会被恢复,然后新进程开始运行。在将CPU分配给另一个进程之前,必须保存正在运行进程的状态,以便该进程再次获得CPU时可以从上次停止的地方继续执行。通常,进程状态包括程序计数器、进程使用的寄存器值以及其他恢复进程所需的信息。操作系统将进程状态存储在一个数据结构中,称为进程控制块或切换帧。上下文切换是一
超级会员免费看
订阅专栏 解锁全文
7268

被折叠的 条评论
为什么被折叠?



