java并发编程outlines_codestorm_新浪博客

一、基本线程实现
runnable (interface)
Thread (class)
stop() interrupt() (即将废弃)   thread.suspend()/ resume()
obj.wait()  obj.notify()  semphare
yield() join() (等待线程全部结束)
setDaemon() ThreadGroup() setPriority()
synchronized { method / object / class } 加锁的方式,性能较差

二、JDK并发包
1. Locks:
ReentrantLock()  Condition
ReadWriteLock()
Semaphore
CyclicBarrier / CountDownLatch
2. thread pool:
ExecutorService es = Executos.newFixedThreadPool(5);
newSingle ThreadPool()
newCached ThreadPool()
newScheduledThreadPool()
join / fork 
3. Containers:
ConcurrentHashMap
CopyonWriteArrayList
ConcurrentLinkedQueque
BlockingQueque
ConcurrentSkipList

三、无锁机制
AtomicInteger
AtomaticReference  (ABA问题)
AtomaticStampedReference
AtomaticIntegerArray
Vector(有锁线程安全,但效率低于无锁,但好实现)

四、其他
Disruptor (对比BlockingQueque, 也实现cache优化) 
Futher (future模式和futherTask类,用在线程池)
NIO / AIO
AKKA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值