Spinlock 介绍 线程通过 busy-wait-loop 方式来获取锁, 任何时刻只有一个线程能够获得锁, 其它线程忙等待知道获得锁。 应用场景 spinlock 不会有线程状态切换,所以响应更快。 使用spinl…
分类:java并发
Java JUC(Atomic包)
基本类:AtomicInteger、AtomicLong、AtomicBoolean; 引用类型:AtomicReference、AtomicReference的ABA实例、AtomicStampedRerence、At…
Java 多线程执行
背景: 如果一个任务由多个子任务组成,子任务全部执行完成后然后由主线程对所有子任务结果进行封装,可以采用如下几种方式: 1、基于Guava ListenableFuture 进行; 2、基于FutureTask 和Cou…
JAVA: httpclient 具体解释——第五章;
httpclient 具体解释——第一章; httpclient 具体解释——第二章; httpclient 具体解释——第三章; httpclient 具体解释——第四章; httpclient 具体解释—…
(原创)JAVA多线程二线程池
一,线程池的介绍 线程池包括一下三种: 线程池名称 创建方法 特点 其他 固定大小线程池 ExecutorService threadpool = Executors.newFixedThreadPool(3) 大小固定…
不依赖jstack的java 线程dump和死锁检查工具
java线程dump可以使用jdk的命令“jstack pid”完成,死锁检查可以用jconsole查看到。这两个工具是java调试的常用方法。 我遇到的问题是:在sles11sp3的服务上面测…
《Java并发编程实战》笔记-锁与原子变量性能比较
如果线程本地的计算量较少,那么在锁和原子变量上的竞争将非常激烈。如果线程本地的计算量较多,那么在锁和原子变量上的竞争会降低,因为在线程中访问锁和原子变量的频率将降低。 在高度竞争的情况下,锁的性能将超过原子变量的性能。在…
Java中的各种锁
1.共享锁和排它锁的区别
Java并发(三)ConcurrentHashMap锁分段机制
Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器 的性能。 ConcurrentHashMap 同步容器类是Java 5 增加的一个线程安全的哈希表。对 与多线程的操…
juc - CountDownLatch源码解读
之前再学zk的时候,用到了这个CountDownLatch,他的作用是等其他的线程都执行完了某个操作之后再让当前的线程执行,在其他线程没有执行完之前当前线程要阻塞,这样就能实现线程之间的通信了。因为最近刚学习了Reent…
Java面试——线程池
1、类比介绍 假如有一个工厂,工厂里面有10个工人,每个工人同时只能做一件任务。 因此只要当10个工人中有工人是空闲的,来了任务就分配给空闲的工人做; 当10个工人都有任务在做时,如果还来了任务,就把任务进行…
Java线程锁一个简单Lock
/** * @author * * Lock 是java.util.concurrent.locks下提供的java线程锁,作用跟synchronized类似, * 单是比它更加面向对象,两个线程执行代码段要实现互斥效果…