最新 最热

高并发编程系列

放在静态方法上面,由于静态没有this可以锁定,不需要new 出对象,运用了反射.

2019-10-09
1

AtomicIntegerFieldUpdater

对于volatile变量,写的时候会将线程本地内存的数据刷新到主内存上,读的时候会将主内存的数据加载到本地内存里,所以可以保证可见行和单个读/写操作的原子性。但是上例中先 1. 判断!ischanged 2.ischanged=true 该组合操...

2019-09-17
1

GP 5.16.0 故障实验

内容接上一篇文章(https://blog.51cto.com/lee90/2371858),本文的实验拓扑等各种架构都和上一篇一致。

2019-09-17
1

Java多线程学习(六)——Lock的使用

锁是用于通过多个线程控制对共享资源的访问的工具。通常,锁提供对共享资源的独占访问:一次只能有一个线程可以获取锁,并且对共享资源的所有访问都要求首先获取锁。 但是,一些锁可能允许并发访问共享资源,如ReadWriteLock的...

2019-09-17
1

请你说明concurrenthashmap有什么优势以及1.7和1.8区别?

Concurrenthashmap线程安全的,1.7是在jdk1.7中采用Segment + HashEntry的方式进行实现的,lock加在Segment上面。1.7size计算是先采用不加锁的方式,连续计算元素的个数,最多计算3次:...

2019-09-16
1

synchronized(修饰方法和代码块)

所谓的实例对象锁就是用 synchronized 修饰实例对象中的实例方法,注意是实例方法不包括静态方法,如下:

2019-08-30
1

Java多线程-线程状态

线程状态6个状态定义:java.lang.Thread.StateNew: 尚未启动的线程的线程状态。Runnable: 可运行线程的线程状态,等待CPU调度。Blocked: 线程阻塞等待监视器锁定的线程状态。处于synchronized同步代码块或方法中被阻塞。...

2019-08-27
0

实现单例的几种方式

懒汉式单例:通过判断单例对象是否为null和加同步关键字,保证只在第一次使用单例类创建单例类,避免创建重量级单例类慢的问题。在高并发情况下,同步关键字的使用可能会降低性能...

2019-08-21
1

初学者第64节之线程同步&死锁详解(六)

我们再谈 synchronied同步,现在我们都知道了synchronied是同步代码了,它默认是的对象锁是this,往往效率都不高,因为每次执行到synchronized代码块时,其它的synchronized代码块都会被阻塞,那么怎么能提高效率呢?当然能实现同...

2019-08-20
0