Back in the 50s, programmers had a very hard time delivering even the simplest features because they had to work at a very low level of abstraction. There was nothing as a variable, field or parameter â€“ just registry or memory cells. After decades of advances in compiler and runtime technologies, people barely think about memory management anymore.
Today, the industry is facing the same issue with multithreading. It is the use of low-level synchronization mechanisms that causes the notorious complexity of multithreaded applications. As in the 50s, we need to raise the level of abstraction to get back into productivity. In this session, we will see how design patterns, such as READER-WRITER SYNCHRONIZED OBJECT or ACTOR, can simplify multi-core development. Weâ€™ll see how programming languages are built around these patterns and how other .NET tools can help you to implement threading patterns without switching to a new language.