在Java中的多线程
在Java中,多线程是一种同时执行多个线程的过程。
线程是轻量级的子进程,是最小的处理单元。多处理和多线程都用于实现多任务处理。
然而,我们使用多线程而不是多处理,因为线程使用共享内存区域。它们不会分配独立的内存区域,因此节省内存,并且在线程之间进行上下文切换所需的时间比进程少。
Java多线程主要用于游戏、动画等领域。
Java多线程的优点
1)它不会阻塞用户,因为线程是独立的,可以同时执行多个操作。
2)可以同时执行多个操作,因此节省时间。
3)线程是独立的,因此如果一个线程发生异常,不会影响其他线程。
多任务处理
多任务处理是同时执行多个任务的过程。我们使用多任务处理来利用CPU。多任务处理可以通过两种方式实现:
- 基于进程的多任务处理(多处理)
- 基于线程的多任务处理(多线程)
1)基于进程的多任务处理(多处理)
- 每个进程在内存中有一个地址。换句话说,每个进程分配一个独立的内存区域。
- 进程是重量级的。
- 进程之间的通信成本较高。
- 切换从一个进程到另一个进程需要一些时间来保存和加载寄存器、内存映射、更新列表等。
2)基于线程的多任务处理(多线程)
- 线程共享相同的地址空间。
- 线程是轻量级的。
- 线程之间的通信成本较低。
注意:每个线程至少需要一个进程。
什么是线程
线程是一个轻量级的子进程,是最小的处理单元。它是一个独立的执行路径。
线程是独立的。如果一个线程发生异常,不会影响其他线程。它使用共享内存区域。
如上图所示,线程在进程内执行。线程之间进行上下文切换。操作系统内可以有多个进程,一个进程可以有多个线程。
注意:一次只能执行一个线程。
Java Thread类
Java提供Thread类来实现线程编程。Thread类提供了构造函数和方法来创建和执行线程操作。Thread类扩展了Object类并实现了Runnable接口。
Java Thread方法
来源:Java面试那些事儿
本文暂时没有评论,来添加一个吧(●'◡'●)