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; and enhancing the priority boosting of the first thread by rescheduling the first thread to run on the second CPU.