摘要: 1 package com.atfu.java01; 2 3 /** 4 * 演示线程的死锁问题 5 * 1.死锁的理解:不同的线程分别占用对方需要的同步资源不放弃,都在等对方放弃自己需要的同步资源,就形成了线程的死锁 6 * 7 * 2.说明: 8 * 1)出现死锁后,不会出现异常,不会出现提示, 阅读全文
posted @ 2021-10-18 23:07 橘猫的夏天 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 1 package com.atfu.java01; 2 3 /** 4 * 使用同步的方式将单例模式中的懒汉式改写为线程安全的 5 * 6 * @author fu jingchao 7 * @creat 2021/10/18-21:47 8 */ 9 public class BankTest 阅读全文
posted @ 2021-10-18 22:42 橘猫的夏天 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 1 package com.atfu.java01; 2 3 /** 4 * 例子:创建三个窗口卖票,总票数为100张,使用继承Thread类的方式。 5 * 6 *使用同步方法解决继承Thread类的方式的线程安全问题 7 * 8 * 关于同步方法的总结: 9 * 1.同步方法任然涉及到同步监视器 阅读全文
posted @ 2021-10-18 22:41 橘猫的夏天 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 1 package com.atfu.java01; 2 3 /** 4 * 例子:创建三个窗口卖票,总票数为100张,使用继承Thread类的方式。 5 *存在线程安全问题,待解决。 6 * 7 *使用同步代码块解决继承Thread类的方式的线程安全问题 8 * 9 * 说明:在使用继承Threa 阅读全文
posted @ 2021-10-18 22:40 橘猫的夏天 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 1 package com.atfu.java01; 2 3 /** 4 * 5 * 使用同步方法解决Runnable接口线程的安全问题 6 * 7 * @author fu jingchao 8 * @creat 2021/10/17-15:48 9 */ 10 class Window3 imp 阅读全文
posted @ 2021-10-18 22:40 橘猫的夏天 阅读(48) 评论(0) 推荐(0) 编辑
摘要: * 例子:创建三个窗口卖票,总票数为100张,使用实现Runnable接口的方式。* 1.问题:卖票过程中出现了重票和错票 >线程的安全问题* 2.问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票。* 3.如何解决:当一个线程a在操作ticket时,其他线程不 阅读全文
posted @ 2021-10-18 22:39 橘猫的夏天 阅读(35) 评论(0) 推荐(0) 编辑