- 1. .NET: , JetBrains
- 2. vs vs (Processes), (Threads), (Tasks)
- 3. lock(), Monitor, [Synchronized] EventWaitHandle: Manual,
Auto Mutex Barrier, CountDownEvent, Semaphore Slim, SpinWait
WaitHandle, Kernel32Dll
- 4. ReaderWriterLock
- 5. ReadWriteLock Slim ( =) Upgradable Fairness, starvation
using try... finally TryEnterReadLock, TryEnterWriteLock
- 6. Memory model
- 7. Memory barriers , Store buffer, Write Combining buffer
Instruction reordering : mfence, lfence, sfence
Thread.MemoryBarrier(), volatile, Volatile.Read(),
Volatile.Write()
- 8. Double-checked locking
- 9. : cmpxchg xadd, lock Interloked: Read(Int64), Increment,
Exchange, CompareExchange : =) , !!!
- 10. BlockingQueue
- 11. BlockingQueue
- 12. Immutable state no locking Commit/Rollback RwLock Read- ,
COM
- 13. COM- Appartments: STA, MTA, Neutral COM object creating ...
=( GC Other thread STA-thread
- 14. ReSharper Main thread AcquireWrite Upgrade AcquireRead Pool
thread TryAcquireRead CheckForInterrupt (