A method for starting a virtual processor in a virtual machine environment, said virtual machine environment comprising a guest operating system executing on a virtual machine emulated by a virtual machine monitor, said virtual machine comprising a plurality of virtual processors (124, 126, 128) which are implemented as separate threads of execution (136, 138, 140), said guest operating system comprising a subsystem for issuing a command to start a processor, said method comprising: said guest operating system, executing on a first virtual processor corresponding to a first thread of execution, issuing a startup command via said first virtual processor to a second virtual processor corresponding to a second thread of execution; said virtual machine monitor providing said second virtual processor and its corresponding second thread of execution with the highest priority for utilizing hardware resources, thereby preventing said first thread of execution corresponding to said operating system from continuing execution and thus preventing a timeout corresponding to said startup command; said virtual machine monitor forcing said first virtual processor and its corresponding first thread of execution to relinquish control of a set of all hardware resources and providing control to same to said second virtual processor and its corresponding second thread of execution; said second virtual processor and its corresponding second thread of execution completing a startup; said virtual machine monitor providing said second virtual processor and its corresponding second thread of execution with a priority other than the highest priority for utilizing hardware resources; and said virtual machine monitor forcing said second virtual processor and its corresponding second thread of execution to relinquish control of said set of all hardware resources and providing control to same to said first virtual processor and its corresponding first thread of execution. said guest operating system, executing on a first virtual processor corresponding to a first thread of execution, issuing a startup command via said first virtual processor to a second virtual processor corresponding to a second thread of execution; said virtual machine monitor providing said second virtual processor and its corresponding second thread of execution with the highest priority for utilizing hardware resources, thereby preventing said first thread of execution corresponding to said operating system from continuing execution and thus preventing a timeout corresponding to said startup command; said virtual machine monitor forcing said first virtual processor and its corresponding first thread of execution to relinquish control of a set of all hardware resources and providing control to same to said second virtual processor and its corresponding second thread of execution; said second virtual processor and its corresponding second thread of execution completing a startup; said virtual machine monitor providing said second virtual processor and its corresponding second thread of execution with a priority other than the highest priority for utilizing hardware resources; and said virtual machine monitor forcing said second virtual processor and its corresponding second thread of execution to relinquish control of said set of all hardware resources and providing control to same to said first virtual processor and its corresponding first thread of execution.