摘要: 1:作用 在线程结束前触发执行的逻辑代码 应用停止发送提醒(邮件,短信,钉钉消息等);关闭一些连接等 2:使用方法 // 钩子程序 Runtime.getRuntime().addShutdownHook(new Thread(() -> { System.out.println("钩子程序:应用结 阅读全文
posted @ 2020-02-16 16:37 Draymond 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 线程的生命周期 新建(New) new Thread(); 当程序使用new关键字创建一个线程的后,该线程就是“新建”状态;此时,它与其他的java对象一样,仅仅由java虚拟机 为其分配了内存,并初始化了其成员变量值。此时的线程对象没有表现出热恩和的线程的动态特征,程序也不会执行 就绪(Runna 阅读全文
posted @ 2020-02-16 11:48 Draymond 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1 使用对象区别 sleep的调用者是Thread,wait的调用者是所有实例对象 2 使用位置的区别 sleep在任何位置都能使用,而wait/notify/notifyAll需要在"synchronized"同步代码块中使用(wait需要一个监视器monitor) 3 是否释放资源 wait方法 阅读全文
posted @ 2020-02-16 11:36 Draymond 阅读(397) 评论(0) 推荐(0) 编辑