1. A method for using a parallel, multi-threaded processor system comprising: processing threads with a plurality of microengines, at least one microengine capable of processing at least two independent threads; processing commands issued by the microengines using a plurality of system resource interface units that each include at least one commands queue; and utilizing a global command arbiter including a pointer to store the identity of the a last agent that had a request granted to determine whether a particular microengine command request should be granted.