多线程常见问题及解决方案(十六) 前言 一、多线程常用类 二、常见问题 2.4 锁

记录多线程常见问题及解决方案。

一、多线程常用类

多线程源码,常见多线程问题解决方案的(20%-30%):用后俩类就可以解决。

多线程常见问题及解决方案(十六)
前言
一、多线程常用类
二、常见问题
2.4 锁

实现思想:AQS
实现方式:Lock
==》AtomicInteger
==》CountDownLatch
==》ConcurrentHashMap
==》ConcurrentSkipListMap

二、常见问题

2.1验证线程共享资源问题

2.2countdownlatch用法

多线程问题解决思路:5个线程跑完,再跑最后一个(5个数,跑完一个减一,用CountDownLatch),也可以用CyclicBarrier;

2.3 AtomicInteger

a++,两个操作,线程不安全,解决方式,可以用AtomicInteger,将两个步骤搞成一步里。

2.4 锁

读写锁

乐观锁、悲观锁

不公平锁