今天看啥  ›  专栏  ›  老猫吃饭团

【编程艺术】Java并发编程基础(一)

老猫吃饭团  · 简书  ·  · 2019-12-23 19:38

文章预览

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” ,却启动了那么多无关的线程,是不是意味着把简单的问题复杂化了?当然不是,正确使用多线程,可以带来很多好处哦。使用多线程的原因,有以下几点

  1. 更多的处理器核心
  2. 更快的响应时间
  3. 更好的编程模型
………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览