Collin Nam


Collin Nam

深入理解Java读写锁ReadWriteLock

ReentrantLock实现了一种标准的互斥锁,每次最多只有一个线程能持有ReentrantLock。但对于维护数据的完整性来说,互斥通常是一种过于强硬的加锁规则,因此也就不必要地限制了并发性。互斥是一种保守的加锁策略,虽然可以避免写写冲


Frank 1048浏览 1条评论 2019年04月26日 阅读全文

ReentrantLock 中Lock、tryLock和lockInterruptibly的区别

LOCK 调用后一直阻塞到获得锁 public void lock() 1. 获取锁。 2. 如果该锁没有被另一个线程保持,则获取该锁并立即返回,将锁的保持计数设置为 1。 3. 如果当前线程已经保持该锁,则将保持计数加 1,并且该方法立即


Frank 396浏览 0条评论 2019年04月26日 阅读全文

java并发编程之Executor

目录 Executor 为每一个请求启动一个新线程的Executor 以同步的方式编写类似于单线程的行为 线程池 newFixedThreadPoole newCachedThreadPoolo newSingIeThreadExecuto


Frank 378浏览 0条评论 2019年04月26日 阅读全文

linux下zookeeper集群搭建

目录 1.前提 2.配置主机名到IP地址的映射 3.修改zoo.cfg配置 4.新建myid文件并写入集群标识 5.在另外两台机器进行相同操作 6.查看集群状态配置结束 接着上一篇博客linux下zookeeper单机搭建,本篇进阶一下,利


Frank 1292浏览 0条评论 2019年04月26日 阅读全文

java线程的取消与关闭

目录 1.任务取消 1.1通过volatile类型的域来保存取消状态 1.2通过 future 的cancel取消线程 1.3使用interrupt()方法中断当前线程 1.4使用shutdown()和shutdownNow() 1.4.1


Frank 1328浏览 0条评论 2019年04月26日 阅读全文