We had to use multi-threading for something that looked like synchronously operations. This was the norm for programming, but things are changing and evolving and Microsoft has finally given us the ability to take advantage of multi-core processors on the systems we're programming for. Multithreaded programming is parallel, but parallel programming is not essentially multithreaded. Unless the multithreading happens on a single core, in which case it is only concurrent. Here parallel is truly simultaneous, while concurrent just looks as if it was simultaneous.
If you want to know in detail of Parallel Programming I would suggest you to read the Article[
^]