java中的多线程理解_java多线程详细理解

Java的多线程是一个同时执行多个线程的过程。

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

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

用一个东西之前,总得了解一下它的优点,这样才有动力看下去,这里我们先看一下多线程的优点。

Java多线程的优点

它不会阻塞用户,因为线程是独立的,你可以同时执行多个操作,举个栗子,你需要一个延时,等待三秒钟再进行接下来的操作,如果你使用单线程,它就真的等了你三秒,这三秒,啥都不干,啥都得放一边,就等。。。这明显是不可接受的。

你可以同时执行多个操作,节省时间。这里面又牵扯到CPU密集型和IO密集型的问题,可以看这篇文章:关于多线程的CPU密集型和IO密集型这件事

线程是独立的,死掉一个,不影响另一个。

多任务处理

多任务处理是同时执行多个任务的过程,我们使用多任务处理来尽可能增大CPU的利用率。多任务处理可以通过两种方式实现,没错,多线程和多进程。

1.多进程

每个进程在内存中有一个地址,分配一个单独的内存区域

进程是重量级的

通信成本比较高

切换进程需要一些时间来保存和加载寄存器,内存映射等

2.多线程

线程共享相同的地址空间

轻量级

通信成本比较低

Java的多线程是一个同时执行多个线程的过程。 线程是一个轻量级的子进程,是最小的处理单元。多线程和多进程都用于实现多任务处理。 但是,我们使用多线程而不是多进程,因为线程使用共享内存区域,它们不分配单独的内存区域以节省内存,而且线程之间上下文切换比进程花费的时间更少。 用一个东西之前,总得了解一下它的优点,这样才有动力看下去,这里我们先看一下多线程的优点。 Java多线程的优点 它不会阻塞用户,因为线程是独立的,你可以同时执行多个操作,举个栗子,你需要一个延时,等待三秒钟再进行接下来的操作,如果你使用单线程,它就真的等了你三秒,这三秒,啥都不干,啥都得放一边,就等。。。这明显是不可接受的。 你可以同时执行多个操作,节省时间。这里面又牵扯到CPU密集型和IO密集型的问题,可以看这篇文章:关于多线程的CPU密集型和IO密集型这件事 线程是独立的,死掉一个,不影响另一个。 多任务处理 多任务处理是同时执行多个任务的过程,我们使用多任务处理来尽可能增大CPU的利用率。多任务处理可以通过两种方式实现,没错,多线程和多进程。 1.多进程 每个进程在内存中有一个地址,分配一个单独的内存区域 进程是重量级的 通信成本比较高 切换进程需要一些时间来保存和加载寄存器,内存映射等 2.多线程 线程共享相同的地址空间 轻量级 通信成本比较低
经验分享 程序员 微信小程序 职场和发展