Semaphore原理
2019-09-20 13:46:00 0 举报
Semaphore原理
作者其他创作
大纲/内容
Semaphore semaphore = new Semaphore(5);
使用CAS给state加1,加成功后 从同步等待队列拿到线程LockSupport.unpark(s.thread)
使用CAS给state减1如果减完后小于0,则 将线程放入同步等待队列并且LockSupport.park(this)
semaphore.acquire()
思考: new Semaphore(-1) new Semaphore(0)
所有线程会一直在队列里
semaphore.release()
给AQS的state赋值为5
0 条评论
下一页
为你推荐
查看更多