java并发编程笔记

synchronized

锁定对象

在方法上=锁定this对象

static方法上=锁定class对象

出现异常,锁会被释放

锁定的是堆对象,不是栈引用

不要用String对象进行锁

脏读

业务写方法加锁 读方法不加锁 容易产生脏读

volatile

保证可见性,不保证原子性

wait notify使用

countDownlatch门栓使用

Lock

ReentranLock使用

生产者消费者模型

wait跟while一起用的原因 notifyAll的原因

Lock的condition await signalAll

ThreadLocal

Map

Hashtable hashmap concurrentHashMap

有序:TreeMap concurrentskiplistMap

List

Arraylist linkedlist Vector CopyOnWriteArrayList

collections.synchronizedXXX 加锁集合

Queue

concurrentLinkedqueue

并发加锁

offer尾部放 poll头部拿了删 peek头部拿了不删

BlockingQueue

阻塞式

put 满了等待 take空了等待 java自带的生产消费模式

linkedBlockingQueue无界

arrayBlockingQueue有界 

TransferQueue

SynchronusQueue

add offer put 区别

add 满了报错

offer 满了不报错 返回false

put 满了等待

DelayQueue执行定时任务

并发框架

disruptor netty

 

线程池

Executor

ExecutorService

Callable&runable区别

Callable有返回 runable无返回

Executors

 

future

 

threadpool

fixed

cached

single

scheduled

workstealing

forkjoin

threadpoolExecutor

parallelstreamapi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值