Java进阶day40

  【获取线程的名字getName()】【设置学生的名字setName()】

   【获取当前线程对象Thread t = Thread.currentThread();】

   【使当前进程进入阻塞状态Thread.sleep(毫秒数)是一个静态方法与对象无关】

   【Thread.sleep()的面试题】【sleep是静态方法,通过引用去调用无效果,只会使其所在的位置的线程进入阻塞状态】

   【调用interrupt()方法唤醒处于睡眠状态的线程】

   【通过调用stop()方法终止线程的执行,已过时,可能造成数据的丢失,不建议使用】

   【使用布尔量标记,合理的终止线程执行,使用return终止,在此前可以进行数据的保存】

   【了解线程调度模型】

  【和线程调度相关的方法】【设置线程优先级setPriority()】【获取线程优先级getPriority()】

  【静态方法yield()让位,使得当前线程从运行阶段转入就绪状态】

 

    【线程生命周期示意图补充yield()】

 

  【实例方法join(),合并线程,即调用者插队,当前的线程进入阻塞状态(除sleep()外的可使线程进入阻塞状态的方法)】

  【线程生命周期补充jion()】

 

   【设定线程优先级,一些代码】【线程的优先级高是指当抢到时间片后占用的相对时间长一些,而非抢到的概率大】

 

   【让位yield()方法代码】

 

   【插队join()方法代码】

 

  【多线程环境下的数据安全问题】

 

   【多线程并发对同一个账户取款产生的安全问题】

 

   【产生安全问题的三个条件】

 

   【解决线程安全问题,线程同步机制(排队),会牺牲一定效率】

 

   【异步编程模型】【异步就是并发】【同步就是排队】

 

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

  【编写程序对同一个账户进行取款操作】

  【账户类】

 

见下一篇

 

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

posted @ 2020-12-08 23:50  18751612782  阅读(56)  评论(0)    收藏  举报