1. A method of controlling a thread on a computerized system having multiple processors, the method comprising: accessing state information of a blocked thread; maintaining the state information of the blocked thread when the state information indicates that less than a predetermined amount of time has elapsed since the blocked thread ran on the computerized system; setting the state information of the blocked thread to identify affinity for a particular processor of the multiple processors when the state information indicates that at least the predetermined amount of time has elapsed since the blocked thread ran on the computerized system, wherein the particular processor of the multiple processors is selected based on state information of another thread run on the particular processor, the another thread waking the blocked thread and having shared data with the blocked thread; and while setting the state information of the blocked thread to identify affinity for the particular processor of the multiple processors, setting the state information of the blocked thread to indicate that less than the predetermined amount of time has elapsed since the blocked thread ran on the computerized system.