0%

Java多线程基础

本文概述

Java多线程基础知识,包括进程,线程以及他们的关系

进程与线程

  • 进程:一个任务称为一个进程。
  • 进程内同时执行多个子任务,子任务称为线程。
  • 进程和线程的关系:一个进程可以包含一个或多个线程,但至少会有一个线程。

具体如图所示:

多进程模式

即每个进程只有一个线程

如图所示:

多线程模式

即一个进程有多个线程

如图所示:

多线程+多进程模式(复杂度最高)

多进程和多线程混合模式

如图所示

进程VS线程

  1. 进程和线程是包含关系,但是多任务既可以由多进程实现,也可以由单进程内的多线程实现,还可以混合多线程+多进程。
  2. 和多线程相相比,多进程的缺点:创建进程比创建线程开销大,尤其是在windows上;进程间通信比线程的通信要慢,因为线程见通信就是读写同一个变量,速度快。
  3. 多进程的优点:多进程稳定性比多线程高,因为在多进程的情况下,一个进程崩溃不会影响到其他进程,而在多线程的情况下,任何一个线程崩溃会直接导致整个进程崩溃。

多线程

  1. Java语言内置了多线程支持:一个Java程序实际上是一个JVM进程,JVM进程用一个主线程来执行main()方法,在main()方法内部,我们又可以启动多个线程。此外,JVM还有负责垃圾回收的其他工作线程等。使用多线程实现多任务。
  2. 和单线程相比,多线程编程的特点在于:多想成经常需要读写共享数据,并且需要同步。多线程编程复杂度更高,调试更困难。
  3. 多线程的特点:多线程模型是Java程序最基本的并发模型;后续读写网络,数据库,Web开发等都依赖Java多线程模型。
-------------本文结束感谢您的阅读-------------

本文标题:Java多线程基础

文章作者:Jungle

发布时间:2020年05月29日 - 09:48

最后更新:2020年06月20日 - 10:51

原始链接:http://yoursite.com/2020/05/29/Java%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%9F%BA%E7%A1%80/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Welcome to my other publishing channels