随笔分类 -  13 + ---- 并发

摘要:1.简介 CAS 全称是 compare and swap,是一种用于在多线程环境下实现同步功能的机制。CAS 操作包含三个操作数 内存位置、预期数值和新值。CAS 的实现逻辑是将内存位置处的数值与预期数值想比较,若相等,则将内存位置处的值替换为新值。若不相等,则不做任何操作。 在 Java 中,J 阅读全文
posted @ 2018-05-15 08:13 田小波⊰ 阅读(2449) 评论(5) 推荐(2) 编辑
摘要:1.简介 在分析完 (以下简称 AQS)和 的原理后,本文将分析 java.util.concurrent 包下的两个线程同步组件 和`CyclicBarrier`。这两个同步组件比较常用,也经常被放在一起对比。通过分析这两个同步组件,可使我们对 Java 线程间协同有更深入的了解。同时通过分析其原 阅读全文
posted @ 2018-05-11 08:23 田小波⊰ 阅读(629) 评论(0) 推荐(0) 编辑
摘要:1.简介 可重入锁 自 JDK 1.5 被引入,功能上与 关键字类似。所谓的可重入是指,线程可对同一把锁进行重复加锁,而不会被阻塞住,这样可避免死锁的产生。ReentrantLock 的主要功能和 synchronized 关键字一致,均是用于多线程的同步。但除此之外,ReentrantLock 在 阅读全文
posted @ 2018-05-08 08:34 田小波⊰ 阅读(1893) 评论(5) 推荐(3) 编辑
摘要:1. 简介 是一个接口,AbstractQueuedSynchronizer 中的 内部类实现了这个接口。 声明了一组 的方法,这些方法的功能与 中的 等方法相似。这两者相同的地方在于,它们所提供的 方法均是为了协同线程的运行秩序。只不过,Object 中的方法需要配合 synchronized 关 阅读全文
posted @ 2018-05-07 08:10 田小波⊰ 阅读(474) 评论(0) 推荐(0) 编辑
摘要:1.简介 AbstractQueuedSynchronizer (抽象队列同步器,以下简称 AQS)出现在 JDK 1.5 中,由大师 Doug Lea 所创作。AQS 是很多同步器的基础框架,比如 ReentrantLock、CountDownLatch 和 Semaphore 等都是基于 AQS 阅读全文
posted @ 2018-05-02 08:29 田小波⊰ 阅读(641) 评论(0) 推荐(1) 编辑
摘要:1.简介 线程池可以简单看做是一组线程的集合,通过使用线程池,我们可以方便的复用线程,避免了频繁创建和销毁线程所带来的开销。在应用上,线程池可应用在后端相关服务中。比如 Web 服务器,数据库服务器等。以 Web 服务器为例,假如 Web 服务器会收到大量短时的 HTTP 请求,如果此时我们简单的为 阅读全文
posted @ 2018-04-18 08:38 田小波⊰ 阅读(875) 评论(2) 推荐(3) 编辑

点击右上角即可分享
微信分享提示