摘要:
不安全代码 /** * 线程之间的通信问题: 生产者和消费者问题! 等待唤醒,通知唤醒 * 线程交替执行 A B 操作同一个变量 num=0 * A num+1 * B num-1 */ public class A { public static void main(String[] args) 阅读全文
posted @ 2022-04-14 17:49
不写代码想写诗的虫子
阅读(40)
评论(0)
推荐(0)
摘要:
/* A执行完调用B,B执行完调用C,C执行完调用A */ public class C { public static void main(String[] args) { Data3 data = new Data3(); new Thread(()->{ for (int i = 0; i < 阅读全文
posted @ 2022-04-14 17:41
不写代码想写诗的虫子
阅读(38)
评论(0)
推荐(0)
摘要:
synchronized版的生产者和消费者问题 /** * 线程之间的通信问题: 生产者和消费者问题! 等待唤醒,通知唤醒 * 线程交替执行 A B 操作同一个变量 num=0 * A num+1 * B num-1 */ public class A { public static void ma 阅读全文
posted @ 2022-04-14 17:39
不写代码想写诗的虫子
阅读(28)
评论(0)
推荐(0)
摘要:
三大不安全案例及解决办法 买票 不安全代码 // 不安全的买票 // 线程不安全,有负数 public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket station = new BuyTicket 阅读全文
posted @ 2022-04-14 17:30
不写代码想写诗的虫子
阅读(26)
评论(0)
推荐(0)
摘要:
解决方式一:管程法 // 测试:生产者消费者模型-->利用缓冲区解决:管程法 // 生产者,消费者,产品,缓冲区 public class TestPC { public static void main(String[] args) { SynContainer container = new S 阅读全文
posted @ 2022-04-14 17:24
不写代码想写诗的虫子
阅读(20)
评论(0)
推荐(0)
摘要:
创建线程 三种方式创建线程 继承Thread 实现Runnable 实现Callable接口 有缓存 结果可能需要等待,会阻塞! public class ThreadNew { public static void main(String[] args) { // 1.继承Thread类 new 阅读全文
posted @ 2022-04-14 17:14
不写代码想写诗的虫子
阅读(26)
评论(0)
推荐(0)

浙公网安备 33010602011771号