Java进阶day42

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

 

 

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

 

 

 

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

 

 

 ==============================================

  【解决开发中线程安全问题的三个方案】

  【1.使用局部变量代替实例变量和静态变量】

  【2.一个线程对应一个对象】

  【3.使用线程同步机制synchronized()】

 

 

------------------------------------------------

  【线程分类:用户线程,守护线程(后台线程)】

  【守护线程的特点:1.是一个死循环 2.所有用户线程结束后,守护线程自动结束】

  【守护线程的代表:垃圾回收线程】

  【守护线程的应用:定时数据备份等】

 

 

 ------------------------------------------------------------------------------------------------------------

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

 

 

 

 =================================================

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

 

   【定时器Timer代码测试】

 

  上面程序实现的是从指定时间开始以指定的时间间隔“备份数据”

  如下图,采用匿名内部类的方式,则上面的最后的类可以不单独写

 

 ========================================

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

 

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

 

   【实现Callable接口的优缺点】

 

 

-------整理自B站动力节点

 

posted @ 2020-12-13 20:33  18751612782  阅读(61)  评论(0)    收藏  举报