Java
234 notes
Some notes are currently available only in Chinese. English translations are shown when available.
- 6.31 Nonfair ReadWriteLockhistorical
1. What it is. A nonfair read-write lock may let a newly arriving thread compete without strictly following queue order. 2. How to use it. 3. Source-code analysis: constructor, read locking/unlocking, write locking/unlocking, and AQS integration.
- 6.32 Nonfair Semaphorehistorical
1. What it is. Rate limiting using a nonfair strategy. 2. Usage. 3. Principle analysis: constructor, NonfairSync, acquire, shared acquisition through AQS, nonfair acquisition, release, and shared release.
- 6.33 Thread.sleephistorical
1. When a thread wakes after sleep. 2. Thread.sleep vs. Object.wait. 3. References.
- 6.34 Nonfair Lockhistorical
A nonfair lock allows any arriving thread to compete for the lock once it has been released, regardless of arrival order. 1. Usage. 2. Implementation principles.
- 6.35 LinkedBlockingQueuehistorical
What LinkedBlockingQueue is, usage, and source analysis of its linked-list structure, separate put/take locks, conditions, and queue operations.
- 6.36 RejectedExecutionHandlerhistorical
1. What is RejectedExecutionHandler? When corePoolSize is full, blockingQueue is full, and maxPoolSize is also full, how should a new task be handled? This is determined by RejectedExecutionHandler. 2. Types: CallerRunsPolicy, AbortPolicy, DiscardPolicy, DiscardOldestPolicy.
- 6.38 Fair ReadWriteLockhistorical
1. What it is. A fair read-write lock follows queue order: if threads are already waiting ahead, the current thread should not barge in. 2. How to use it. 3. Source-code analysis: constructor, read locking/unlocking, write locking/unlocking, and AQS integration.
- 6.39 Fair Semaphorehistorical
1. What it is. Rate limiting using a fair strategy. 2. Usage. 3. Principle analysis: constructor, FairSync, acquire, shared acquisition through AQS, fair acquisition, release, and shared release.