随笔分类 -  并发编程

摘要:第10章 Executor框架 Java线程既是工作单元,也是执行机制。从JDK 5开始,把工作单元和执行机制分离开来。工作单元包括Runnable和Callable,而执行机制有Executor框架提供。 10.1 Executor框架简介 10.1.1 Executor框架的两级调度模型 在Ho 阅读全文
posted @ 2020-06-09 18:05 mYunYu 阅读(278) 评论(0) 推荐(0)
摘要:第9章 Java中的线程池 Java中的线程池是运营场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池,在开发过程中,合理地使用线程池能够带来3个好处: - 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 - 提高响应速度:当任务到达时,任务可以不需要等待 阅读全文
posted @ 2020-06-02 11:05 mYunYu 阅读(257) 评论(0) 推荐(0)
摘要:第8章 Java中的并发工具类 在JDK的并发包里提供了几个非常有用的工具类。CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类提供了在线程间交换数据的一种手段。 8.1 等待多线程完成的CountDownLatc 阅读全文
posted @ 2020-06-01 16:03 mYunYu 阅读(174) 评论(0) 推荐(0)
摘要:第7章 Java中的13个原子操作类 当一个线程更新一个变量时,程序如果没有正确的同步,那么这个变量对于其他线程来说是不可见的。我们通常使用synchronized或者volatile来保证线程安全的更新共享变量。在JDK1.5中,提供了java.util.concurrent.atomic包,这个 阅读全文
posted @ 2020-05-27 14:47 mYunYu 阅读(202) 评论(0) 推荐(0)
摘要:第6章 Java并发容器和框架 6.1 ConcurrentHashMap的实现原理与使用 ConcurrentHashMap是线程安全且高效的HashMap。 6.1.1 为什么要使用ConcurrentHashMap 在并发编程中使用HashMap可能导致程序死循环,而使用线程安全的HashTa 阅读全文
posted @ 2020-05-22 21:27 mYunYu 阅读(267) 评论(0) 推荐(0)
摘要:第5章 Java中的锁5.1 Lock接口 锁是用来控制多个线程访问共享资源的方式。 在Lock出现之前,Java程序只能靠synchronized实现锁的功能,在JavaSE5之后,有了Lock接口。虽然缺少了synchronized的隐式获取和释放锁的方便,但是拥有了锁获取与释放的可操作性、可中 阅读全文
posted @ 2020-04-14 14:33 mYunYu 阅读(262) 评论(0) 推荐(0)
摘要:第4章 Java并发编程基础4.1 线程简介 4.1.1 什么是线程 线程是轻量级进程,一个进程可以创建多个线程,各个线程拥有各自的计数器、堆栈和局部变量等属性。 注意:一个Java程序的运行不仅仅是main()方法的运行,而是main线程和多个其他线程的同时运行。其他线程: Signal Disp 阅读全文
posted @ 2020-04-10 10:17 mYunYu 阅读(258) 评论(0) 推荐(0)
摘要:第3章 Java内存模型 本节分为4部分: Java内存模型基础:介绍内存模型相关的基本概念 Java内存模型中的顺序一致性:介绍重排序与顺序一致性内存模型 同步原语:介绍synchronized、volatile、final的内存语义以及重排序规则在处理器中的实现 Java内存模型的设计:介绍Ja 阅读全文
posted @ 2020-04-08 17:54 mYunYu 阅读(286) 评论(0) 推荐(0)
摘要:第2章 Java并发机制的底层实现原理 Java代码在编译后变成字节码,字节码被类加载器加载到JVM中,JVM执行字节码,最终转换为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。 2.1 volatile的应用 在并发编程中synchronized和volati 阅读全文
posted @ 2020-03-09 18:44 mYunYu 阅读(248) 评论(0) 推荐(0)
摘要:接下来一个系列,是关于《Java并发编程的艺术》这本书的读书笔记以及相关知识点,主要是为了方便日后多次复习和防止忘记。废话不多说,直接步入主题: 第1章 并发编程的挑战 并发编程的目的是让程序运行得更快,但是并不是启动更多的线程就能让程序最大限度地并发执行。并发编程会遇到许多挑战,例如:上下文切换问 阅读全文
posted @ 2020-03-05 17:46 mYunYu 阅读(398) 评论(0) 推荐(0)