摘要:
13. 线程池 第四种获取线程的方法:线程池,一个 ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置。 线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定 阅读全文
摘要:
8. 生产者消费者案例-虚假唤醒 参考下面生产者消费者案例: 当多个生产者、消费者同时响应资源时,程序输出如下(商品数出现负数): 原因如下,即产生了虚假唤醒: 解决方法在jdk的wait()方法里已经声明,即需要把wait()方法放在循环里(生产者方法也同下) 9. Condition 线程通信 阅读全文
摘要:
5. CountDownLatch 闭锁 Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。 CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 闭锁可以延迟线程的进度直到其 阅读全文
摘要:
1. volatile 关键字与内存可见性 原文地址: https://www.cnblogs.com/zjfjava/category/979088.html 内存可见性(Memory Visibility)是指当某个线程正在使用对象状态而另一个线程在同时修改该状态,需要确保当一个线程修改了对象状 阅读全文