P4 (Portable Programs for Parallel Processors) is a popular message passing system. The Pthreads library is a POSIX-standard implementation that supports multiple ows of control, called `threads ' within a process. MPI(Message Passing Interface) is the emerging message passing system which will soon be the industry standard system. This paper illustrates using multiple threads within the P4 processes and thread-safe message passing. It also describes the various issues that have tobelooked into when dealing with the two packages (P4 and Pthreads). We demonstrate thread-safe message passing by means of some test programs. Finally we identify areas where MPI is potentially unsafe in a multithreaded environment. We delve into the details of these issues and discuss introducing multi-threaded message passing into the MPICH implementation in the near feature.