Java并发相关知识梳理

1,java的对象锁主要锁住

 

2,轻量级锁转成重量级锁条件

 1,自旋次数达到10次,

 2,线程个数大于cpu的1/2

 

 

 

 

 

3,  ReentrantLock

  1. 1,锁的本质只是保证锁的代码段只有一个线程有序,但是并不能保证线程外的线程是有序的
  2. 2, 多线程执行是,线程模块代码一定是无序的

 

4,syncronzie 自1.6后,有优化,自旋锁--》轻量级锁==》重量级锁

 

 

5,aqs

 

6,  cas 非锁模式的,一般要跟cpu核数相等比较好,否则性能还没有使用锁的性能好

 

7,并发
List cardList = Collections.synchronizedList(new ArrayList<>());

 

8

Map cardMap = cardList.stream().collect(Collectors.toMap(CardVO::getNo, Function.identity()));

你可能感兴趣的:(java)