Java 多线程
Java中的多线程是同时执行多个线程的过程。
一个线程是轻量级子过程,最小的处理单元。多处理和多线程都用于实现多任务。
但是,由于线程使用共享内存区域,因此我们使用多线程而不是多处理。它们不分配单独的内存区域,因此节省了内存,并且线程之间的上下文切换比进程花费的时间更少。
Java多线程技术主要用于游戏,动画等。
Java多线程的优点
1)不会阻塞用户,因为线程是独立的,并且您可以在线程上执行多项操作
2)可以一起执行许多操作,因此可以节省时间。
3)线程是独立的 ,因此如果单个线程中发生异常,它不会影响其他线程。
多任务处理
多任务处理是同时执行多个任务的过程。我们使用多任务来利用CPU。多任务可以通过两种方式实现:
基于过程的多任务处理(多处理)
基于线程的多任务处理(多线程)
1)基于流程的多任务处理(多处理)
每个进程在内存中都有一个地址。换句话说,每个进程分配一个单独的内存区域。
一个过程很重要。
进程之间的通讯成本很高。
从一个过程切换到另一个过程需要一些时间来保存和加载寄存器,内存映射,更新列表等。
2)基于线程的多任务处理(多线程)
线程共享相同的地址空间。
线程是轻量级的。
线程之间的通信成本很低。
注意: 每个线程至少需要一个进程。
Java中的线程是什么?
线程是轻量级子进程,是最小的处理单元。这是一条单独的执行路径。
线程是独立的。如果一个线程中发生异常,则不会影响其他线程。它使用共享存储区。
如上图所示,线程在进程内部执行。线程之间存在上下文切换。OS内可以有多个进程,并且一个进程可以具有多个线程。
注意: 一次只执行一个线程。
Java线程类
Java提供了 Thread class 来实现线程编程。线程类提供构造器和方法来创建和执行线程上的操作。线程类扩展对象类并实现Runnable接口。
Java线程方法
线程资料拓展
如何创建线程
命名线程和当前线程
线程优先级
Java守护线程程序
Java线程池
Java线程组
Java垃圾回收
Java Runtime类