Concurrency in Software Architecture
Concurrency is decoupling strategy. It helps us decouple what gets done from when it get done. Concurrency pattern is implemented to support multiple executions simultaneously to make use of all the CPU cores to complete tasks quickly and reduce wait time for every task. Process called Thread which perform multiple executions and lead to achieve concurrency pattern. Threads share resources with each other and execute tasks quickly and efficiently. Concurrency always improves performance It can improve performance sometimes but only where there is a lot of wait time that can be shared between multiple threads or processors. Design does not change when writing concurrency program due to decoupling butt it does varies based on single threaded system. Understanding concurrency issues are not important when working with a container such as a Web or EJB container. Concurrency incurs some overhead, both in performance as well as writing additional code. Correct concurrency is complex, even fo