Java并发编程基础

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值