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站动力节点
浙公网安备 33010602011771号