Before we take a look at advantage and disadvantage let us one think save in our mind. Mostly performance advisement come first in the (object oriented) software design phase. We don't need advisement over performance in the (object oriented) analyse - normally. The problem analyse can be some important fundamentals, and these can help us for performance advisement in the (object oriented) design.
Concurrency is an to check when we are in software analyse phase. With concurrency we describe side by side running pieces of our software. Which can lead to better performance, if the concurrency allows for work to be completed while waiting for IO, or if the CPU support concurrent threads of execution. Even though concurrency can lead to improved performance on both single, and multiple core CPUs concurrency incurs some overhead, and can actually decrease performance if done incorrectly, or in excess.
But only You as specialist can identify software pieces, which may running side by side. The Unified Modelling Language [UML] can help us to display concurrency in activity diagrams. These parts of software are painted between synchronize elements. It is important to create concurrency with right dimension. If they are to small, so it comes too little using, are they to big we have an user problem.