Java进阶day42
【死锁】【死锁不会出现异常或错误,但程序会卡在那,最难调试】

【死锁代码测试(面试题,要会写)】





【死锁“结果”】【强制停止死锁】

==============================================
【解决开发中线程安全问题的三个方案】
【1.使用局部变量代替实例变量和静态变量】
【2.一个线程对应一个对象】
【3.使用线程同步机制synchronized()】

------------------------------------------------
【线程分类:用户线程,守护线程(后台线程)】
【守护线程的特点:1.是一个死循环 2.所有用户线程结束后,守护线程自动结束】
【守护线程的代表:垃圾回收线程】
【守护线程的应用:定时数据备份等】

------------------------------------------------------------------------------------------------------------
【守护线程代码模拟】【使用 t.setDaemon(true) 将线程t设置为守护线程】


=================================================
【定时器java.util.Timer作用】

【定时器Timer代码测试】



上面程序实现的是从指定时间开始以指定的时间间隔“备份数据”
如下图,采用匿名内部类的方式,则上面的最后的类可以不单独写

========================================
【实现线程的第三种方式:实现callable接口】

【实现callable接口以实现线程】



【实现Callable接口的优缺点】

-------整理自B站动力节点
浙公网安备 33010602011771号