使用Tread创建线程
1 | package com.wsx.test; |
得到输出
1 | 13:23:33.225 [t1] DEBUG com.wsx.test.ThreadTest - running |
使用Runnable
1 |
|
1 | 13:29:08.503 [t2] DEBUG com.wsx.test.ThreadTest - runing |
lambda表达式
注意到Runnable源码中有注解@FunctionalInterface,那么他就可以被lambda表达式简化,因为只有一个方法
1 |
|
Thread和Runnable
Thread在用Runnable构造的时候,把他赋值给了一个target变量,然后run
FutureTask和Callable
下面的代码会阻塞
1 |
|
1 | 13:48:00.930 [main] DEBUG com.wsx.test.ThreadTest - running |
jps
可以查看java程序的pid
jstack <pid> 查看某个java进程的所有线程状态,非动态
jconsole可以查看java进程中线程的图形界面
他还可以远程连接,注意需要在运行java程序的时候要加入一些参数,而且注意关闭防火墙
ps
1 | ps | grep java |
, ps 看进程,grep筛选
kill + PID杀死进程
top
他用表格来显示,还是动态的
-H 表示查看线程,-p表示pid
1 | top -H -p 3456 |
- 本文作者: fightinggg
- 本文链接: http://fightinggg.github.io/yilia/yilia/Q8K2TR.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!