1. A method, comprising: executing, by a first application, at least two threads corresponding to a simultaneous multi-threaded processor whose resources have been acquired by the first application; and synchronizing the at least two threads before releasing the simultaneous multi-threaded processor to a second application.