
并发编程
CR.奈斯
这个作者很懒,什么都没留下…
展开
-
并发编程与源码解析 (三)
并发编程 (三)1 Fork/Join分解合并框架1.1 什么是fork/join Fork/Join框架是JDK1.7提供的一个用于并行执行任务的框架,开发者可以在不去了解如Thread、Runnable等相关知识的情况下,只要遵循fork/join开发模式,就完成写出很好的多线程并发任务。 同时其按照分而治之的思想,可以把一个大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 对于Fork/Join框架的理解可以认为其由两部分组成,Fork就是把一个大任务切分为若干原创 2020-12-03 00:37:16 · 487 阅读 · 0 评论 -
并发编程与源码解析 (二)
并发编程 (二)1 CAS算法1.1 什么是CASCAS(Compare and Swap),即比较并替换,是用于实现多线程同步的原子操作。 所谓原子操作是指不会被线程调度机制打断的操作。这种操作一旦开始,就一直运行到结束,中间不会有任何context switch(切换到另一个线程)。 实现原子操作可以使用锁,锁机制对于满足基本的原子需求是没问题的,但synchronized是基于阻塞的锁机制,也就是当一个线程拥有锁时,访问同一资源的其他线程需要等待,直到该线程释放锁。 同时基于sy原创 2020-11-29 23:00:04 · 420 阅读 · 0 评论 -
并发编程与源码解析 (一)
并发编程 (一)1. 并发基础 Java从诞生开始,其就已经内置了对于多线程的支持。当多个线程能够同时执行时,大多数情况下都能够显著提升系统性能,尤其现在的计算机普遍都是多核的,所以性能的提升会更加明显。但是,多线程在使用中也需要注意诸多的问题,如果使用不当,也会对系统性能造成非常严重的影响。1.1 并发编程核心概念要理解并发编程,务必要先理解三个概念,分别为:原子性、可见性、有序性。区分:事务的四大特性:原子性、一致性、隔离性、持久性。2.1.1 原子性 所谓原子性即:一个或者多个操作,原创 2020-11-17 02:11:03 · 511 阅读 · 5 评论