java并发编程基础(一)

2019-08-23  本文已影响0人  smallmartial

1.线程简介

1.1什么是线程

现代操作系统调度的最小单元是线程,也是轻量级线程,在一个进程中可以创建多个线程(而一个线程在一个时刻只能运行在一个处理器的核心上),这些线程都拥有各种的计数器、堆栈和局部变量等属性,并且可以访问共享的内存变量。处理器在这些线程上高速切换 ,让使用者感觉这些线程是同步在执行的

使用jmx查看一个java线程包含哪些线程

package cn.smallmartial.concurrency;

import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;

/**
 * @Author smallmartial
 * @Date 2019/8/22
 * @Email smallmarital@qq.com
 */
public class MultiThread {
    public static void main(String[] args) {
        ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
        ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(false, false);
        for (ThreadInfo threadInfo : threadInfos) {
            System.out.println(threadInfo.getThreadId()+":"+threadInfo.getThreadName());
        }
    }
}

1566487030406.png

一个java程序的运行不仅仅是main()方法的运行,而是main线程和其他多个线程在同时执行。

1.2为什么使用多线程

1.3线程的优先级

1566489201932.png

(个别系统,不依赖于线程的优先级--java并发编程艺术)

上一篇 下一篇

猜你喜欢

热点阅读