进程与线程的研究分析

栏目:线程 作者:admin 日期:2017-04-25 评论:0 点击: 1,348 次

进程与线程的历史渊源

进程是CPU进行资源分配的最小单位,线程是CPU调度的最小单位。以前进程既是资源分配也是调度的最小单位,后来为了更合理的使用CPU(因为CPU的性能越来越好),才将资源分配和调度分开,就有了线程。

如何查看Java进程?

jps是显示当前所有java进程PID的命令。常用参数有:

如何查看Java进程里面的线程?

jstack用于生成java虚拟机当前时刻的线程快照。用法是:jstack <pid>

救火,线上故障诊断,查找占用CPU最多的线程

在工作中经常碰到的情景就是CPU飙升特别厉害,服务器卡死,这时候就需要我们去定位CPU被占用的原因了。举个例子来模拟一下:

这个例子里新创建了11个线程,其中10个线程没干什么事,主要是sleep,另外有一个线程在循环里一直跑着。首先通过jps可以看到这个程序的pid,然后通过接着我们可以通过jstack <pid>的输出来看各个线程栈:

声明: 本文由金丝燕网原创编译,转载请保留链接: 进程与线程的研究分析,更多交流请加群:278721352