👨‍💻
Software Engineering
Clean Code: Agile Software Craftsmanship
Clean Code: Agile Software Craftsmanship
  • Clean Code
  • 1: Clean Code
    • There Will Be Code
    • Bad Code
    • The Total Cost of Owning a Mess
    • Schools of Thought
    • We are Authors
    • The Boy Scout Rule
    • Prequel and Principles
    • Conclusion
  • 2: Meaningful Names
  • 3: Functions
  • 4: Comments
  • 5: Formatting
  • 6: Objects and Data Structures
  • 7: Error Handling
  • 8: Boundaries
  • 9: Unit tests
  • 10: Classes
  • 12: Emergence
  • 13: Concurrency
    • Why Concurrency?
    • Challenges
    • Concurrency Defense Principles
    • Know Your Library
    • Know Your Execution Models
    • Beware Dependencies between Synchronized Methods
    • Keep Synchronized Sections Small
    • Writing Correct Shut-Down Code is Hard
    • Testing Threaded Code
    • Conclusion
Powered by GitBook
On this page
  1. 13: Concurrency

Know Your Library

PreviousConcurrency Defense PrinciplesNextKnow Your Execution Models

Last updated 9 months ago

  • Use provided thread-safe collections

  • Use the executor framework for executing unrelated tasks.

  • Use nonblocking solutions when possible

  • Know which libraries are not thread-safe.

Thread Safe Collections

  • Examples: ConcurrentHashMap, ConcurrentDictionary, etc

  • Features like lock, Semaphore, SemaphoreSlim, etc support advanced concurrency design.

Recommendation:

Review the classes available to you. Become familiar with them. Know when to use them.

Thread-Safe collections - .NETMicrosoftLearn
Logo