阻塞队列之SynchronousQueue
2022-02-03 01:15:54 0 举报
SynchronousQueue
作者其他创作
大纲/内容
非公平模式TransferStack
入队
awaitFulfill方法里面的 LockSupport.park(this)
公平模式TransferQueue
tail
item=nullwaiter=null
item=nullwaiter=customer2
head
item=1waiter=customer1
customer1线程就可以拿到item=1
next
LockSupport.unpark(m.waiter)
item=nullwaiter=customer1
take()
transfer方法
put(1)isData=1
producer1
阻塞
入队 阻塞
初始化构建链表
customer2
唤醒customer1,交换数据
唤醒customer1
出队
take()isData=0
customer1
data:入队request:出队
0 条评论
下一页