看到梳理关于 AbstractQueuedSynchronize 里的介绍,看懂了大概一半不到把 似懂非懂
我想不通什么场景下需要共享式,还有比如我有 100 个线程,这种共享式的话 是不是我 100 个线程都能获取到,那不就意义不大了吗
比如我读文件 我就不加锁好了,我只有在写文件的时候再加锁= =
对于共享式还是没理解
我感觉锁都是独占式的
1
0576coder OP 我好像明白了一点 比如共享式 我能控制同一时刻最多 10 个线程读我的文件 对于这 10 个线程来说是共享的。
但是线程 11 想再读 会被阻塞 我好像明白了点 |
2
wsxyeah 2021-07-01 08:00:30 +08:00 via iPhone
1. 读写文件这个可以用读写锁 ReadWriteLock,写是需要独占的,读可以共享。
2. 控制最高并发数可以用信号量 Semaphore,n 个共享。 |