8. What are concurrency design patterns? Explain. Solution 8) we have five concurrency design patterns: ------------------------------------------------- First pattern is Active object design pattern . This pattern decouples method invocation. This is to enhance concurrency and simplify synchronized access to objects that reside in their own threads of control. Second pattern is Monitor pattern which synchronizes concurrent method execution to ensure that only one method at a time runs within an object. It allows obkect methods to schedule their execution sequence. Third pattern is haof sync / half async pattern which decouples synchrounous and synchronous processing in concurrent systems, so that it will simplify programmming without reducing performance undudly. Fourth pattern is Leader pattern which provides concurrency model where multiple threads take turns to share a set of event sources to detect, demultiplexm dispatch and process service requests that occur on the event sources. Fifth pattern is thread specific storage design pattern to allow multiple threads to use one logical global access point to retrieve an object that is local to a thread, without uncurring locking overload on each access to the object. .