JAVA多线程
Posted 丨核桃牛奶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA多线程相关的知识,希望对你有一定的参考价值。
阻塞状态:
sleep 可中断利用 interrupt方法
wait
IO 不可中断 I:关闭底层资源 II:new I O
任务试图在某个对象上调用其同步控制方法,但是对象锁被另一个任务获取 不可中断
Executor.shutdownNow() 发送一个interrupt() 调用给它启动的所有线程
如何中断单一任务?
Executor.submit()启动单一任务 该方法返回一个Futrue<?> 类型的参数
利用这个参数的cancel(true)即相当于在该线程上调用interrupt()
public static void main(String[]args){ final Test st = new Test(); new Thread(){ @Override public void run(){ st.f1(100); } }.start(); System.out.println("main is over"); } }
刚才写测试用例 突然发现自己对有些概念不是特别明确 比如上面的例子
我原以为 main线程输出完那句话 整个程序就结束了 其实并非这样
只有当把副线程设置为守护线程的时候 才是我想象的那样
以上是关于JAVA多线程的主要内容,如果未能解决你的问题,请参考以下文章