1. A method of enhancing priority boosting of scheduled threads comprising the steps of: determining by a second thread being executed on a second CPU whether to wait for a lock on a shared resource held by a first thread that is scheduled to be executed by a first CPU, the second thread having a higher priority than the first thread; boosting the priority of the first thread by passing the higher priority of the second thread to the first thread if the second thread has to wait for the lock on the shared thread; and enhancing the priority boosting of the first thread by rescheduling the first thread to run on the second CPU.