Published Sep 3, 2019

Episode 19: Concurrency Pt. 2

Explore the intricacies of concurrency with Alexander von Zitzewitz and Michael Scharf as they delve into thread management, concurrency patterns, and architectural considerations, revealing how these techniques can optimize system efficiency and reshape software design.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Concurrency's Role

    Concurrency plays a pivotal role in shaping system architecture, influencing both functional and non-functional properties. emphasizes treating concurrency as an architectural topic due to its significant impact on system design and performance 1. This approach ensures that concurrency is not an afterthought but a core consideration in system development. adds that managing threads is crucial, as the number of threads can affect resource allocation and system stability 2.

       

    Resource Management

    Efficient resource management is essential in concurrent systems to prevent resource exhaustion and ensure optimal performance. Alexander highlights the importance of understanding resource constraints, such as the limited number of operating system locks and threads available 2. He warns that excessive threads can lead to application instability, making it vital to balance thread usage with available resources.

    Always take into account these resources might be very expensive and that they are not an infinite number of locks out there if you have an environment with these constraints.

    ---

    By carefully managing these resources, developers can maintain system efficiency and reliability.

Related Episodes