Java并发编程基础

Java并发编程基础
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

Java语音从开始就内置了对多线程的支持,线程是操作系统的最小单元,多个线程同时执行可以明显提升程序性能。但是过多的创建线程以及不正当的管理线程也容易造成问题。所以,认识并合理使用线程变成提升编码能力的必要途径。

什么是线程
操作系统在运行一个程序时,会为其创建一个进程。例如:启动一个Java程序,系统会创建一个Java进程。上文提到操作系统的最小调度单元是线程,线程也被称为***轻量级进程***,一个进程可以创建多个线程。这些线程都有各自的计数器、堆栈以及局部变量等属性,而且还能访问共享的内存变量。处理器在这些线程中高速切换,让我们感觉是多个线程同时执行。

举个例子吧,一个Java程序,从最开始的mian()方法开始执行,然后按照既定的逻辑执行,看似没有其它的线程参与,但是吧,Java程序本身就是一个多线程的程序。所以。。。

public class MultiThread{
    public static void main(String[] args) {
    // 获取Java线程管理MXBean
    ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
    // 不需要获取同步的monitor和synchronizer信息,仅获取线程和线程堆栈信息
    ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(false, false);
    // 遍历线程信息,仅打印线程ID和线程名称信息
        for (ThreadInfo threadInfo : threadInfos) {
        System.out.println("[" + threadInfo.getThreadId() + "] " + threadInfo.
        getThreadName());
        }
    }
}

从以上代码可以看出来,Java程序执行,是main线程和多个其它线程同时运行。

为什么使用多线程
执行一个*“Hello World”*,却启动了那么多无关的线程,是不是意味着把简单的问题复杂化了?当然不是,正确使用多线程,可以带来很多好处哦。使用多线程的原因,有以下几点

  • 更多的处理器核心
  • 更快的响应时间
  • 更好的编程模型

作者:https://gper.club/articles/7e7e7f7ff7g5agc8g6d

本文来源Java实战团,经授权后由javajgs_com发布,观点不代表Java架构师必看的立场,转载请联系原作者。

发表评论