博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【多线程】进程与线程、并行与并发
阅读量:698 次
发布时间:2019-03-21

本文共 914 字,大约阅读时间需要 3 分钟。

文章目录

1 进程

进程是程序的一次执行过程。

Java中,启动main函数就是启动了一个JVM进程,main函数所在的线程称为主线程

2 线程

一个进程在执行过程中,可以产生多个线程

import java.lang.management.ManagementFactory;import java.lang.management.ThreadInfo;import java.lang.management.ThreadMXBean;public class Test {
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线程多个其他线程同时运行。

3 进程与线程的区别

相关文章:

  • 为什么程序计数器私有:线程切换后能恢复到正确的执行位置
  • 为什么虚拟机栈和本地方法栈私有:线程中的局部变量不被别的线程访问到。

4 并发与并行

  • 并发:同一个时间段内,多个任务都在执行
  • 并行:同一时刻,多个任务都在执行

5 多线程带来的问题

内存泄露、上下文切换、死锁等

转载地址:http://dstez.baihongyu.com/

你可能感兴趣的文章