If a problem can be divided into separate and unrelated parts , those parts can be run separately. That way, The problem is solved faster than if each part is run sequentially from the computer. This approach is known as parallel processing (doing more than one task in parallel to another). Now multi-core processors in a computer can perform this processing very easily.

But true parallel processing is very difficult to achieve. Many tasks have some kind of relationship with one another and can not be easily separated. Object oriented programming helps here because processing for a single object can be separated out from that for the others.

I found this very interesting paper written by ‘Boleslaw K Szymanski and Charles D Norton‘ titled Object Oriented Programming in Parallel Scientific Computing – An Overview of the Special Issue which you can read here. It really explains the topic a lot in detail.