linux JAVA线程的一些思考

wh0426 2015-05-20
在linux系统中,一个线程对应一个轻量级的进程。故我们用top -Hp 主进程号 -d 1 -n 1 可以看到一个java 虚拟器的启动的进程号下关联了很多子的进程。线程的资源调度是交由操作系统完成的,即抢占式的资源调度模式。当一个线程在规定时间内没有完成任务时,线程会被搁置,Linux内核会将资源分配给新的一线程。这种方式,将闲置的cpu进行有效利用,因为jvm的应用往往需要请求Io/网络/数据库等响应,而这类资源与cpu比,速度是慢了很多的。因此等待的线程就必须让出cpu资源。
demoxshiroki 2015-05-20
可以继续深入思考,比方说方法占用时间,系统占用时间
wh0426 2015-05-21
用什么方法,可以分析出方法 与系统高用占用的时间?
wh0426 2015-05-21
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html 使用strace跟踪系统调用
wh0426 2015-05-21
btrace分析方法调用 java 的一些profile应该可以分析cpu调用吧
Global site tag (gtag.js) - Google Analytics