in parallel programing a processor executes a part of the job, but in multi-thread programming whole job is done by one processor.
This statement is absolutely false.
A parallel program is a program where sections are run in parallel in real time. This requires multiple processors. Each processor runs a section. Each section is called a thread.
A multi-threaded program is a program that can be run as a parallel program. It can also be run using one processsor but only one thread executes at a time. The operating system will multi-task to make it appear that there is more than one processor giving the illusion that the threads are running in parallel.
You have to be certain that any data shared between threads is protected by a critical section, mutex, sempaphore, spin-lock or something that prevents two threads from writing simultaneously to the same resource.