摘要: 在Java中有两类线程:用户线程 (User Thread)、守护线程 (Daemon Thread)。 所谓守护 线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止 阅读全文
posted @ 2017-09-19 13:40 阿狸哥哥 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) ,(PS:以前忽略了)。 估计学过Unix开发但是没有细致学习Java的同学们会疑惑了,操作系统里面是没有所谓的 阅读全文
posted @ 2017-09-19 11:34 阿狸哥哥 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1、进程与线程的区别 2、线程实现:Thread与Runnable 3、线程分类:用户线程、守护线程 4、start()、run() 5、sleep()、wait()、 yield()、join() Thread.yield() : 从执行中的状态变回可执行状态 join():在某些情况下,主线程创 阅读全文
posted @ 2017-09-19 11:33 阿狸哥哥 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 最近公司系统老是卡顿,通过top命令查看,发现java的进程占用CPU很高,3200%多。系统曾出现过多次类似问题,这里记录下排查过程,为以后提供参考。顺带补充一下多线程的相关知识。 排查过程如下: 1、top #查看java进程占用cpu、内存情况 2、ps (ps -mp java进程ID -o 阅读全文
posted @ 2017-09-19 11:01 阿狸哥哥 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一、线程的状态 线程间的状态转换: 1. 新建(new):新创建了一个线程对象。 2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。 3. 运行(running) 阅读全文
posted @ 2017-09-19 10:32 阿狸哥哥 阅读(7839) 评论(1) 推荐(1) 编辑