Java中的多线程

java中的多线程是同时执行多个线程的过程。

线程基本上是一个轻量级的子进程,是一个最小的处理单元。多处理和多线程都用于实现多任务。

但是我们使用多线程而不是多进程,因为线程共享一个共同的内存区域。它们不分配单独的内存区域,因此节省内存,并且线程之间的上下文切换比进程花费更少的时间。

Java多线程主要用于游戏,动画等。


Java多线程的优点

1)它不会阻止用户,因为线程是独立的,您可以同时执行多个操作。

2)您可以一起执行许多操作,从而节省时间

3)线程是独立的,因此如果在单个线程中发生异常,它不会影响其他线程。

多任务处理

多任务是同时执行多个任务的过程。我们使用多任务来利用CPU。可以通过两种方式实现多任务:

  • 基于过程的多任务(多处理)
  • 基于线程的多任务(多线程)

1)基于过程的多任务处理(多处理)

  • 每个进程都有自己的内存地址,即每个进程分配单独的内存区域。
  • 过程是重量级的。
  • 流程成本高。
  • 从一个进程切换到另一个进程需要一些时间来保存和加载寄存器,内存映射,更新列表等。

2)基于线程的多任务(多线程)

  • 线程共享相同的地址空间。
  • 线程重量轻
  • 线程之间的通信成本低。

注意:每个线程至少需要一个进程。

什么是Java中的线程

线程是一个轻量级的子进程,是一个最小的处理单元。它是一个单独的执行路径。

线程是独立的,如果在一个线程中发生异常,它不影响其他线程。它共享一个共同的记忆区域。

Java中的多线程

如上图所示,线程在进程内执行。线程之间有上下文切换。OS内可以有多个进程,一个进程可以有多个线程。

注意:一次只执行一个线程。