1. A method for executing code with a variable number of hardware threads, comprising: executing at least a first portion of code of a program using at least one processing unit thread, utilizing at least one processing unit, the code stored in at least one tangible machine readable media, the code including at least one instruction that specifies execution of at least one additional portion of the code using at least one additional processing unit thread; evaluating a processor state indicator, utilizing the at least one processing unit, to determine whether to execute the at least one additional portion of the code using the at least one additional processing unit thread; if the processor state indicator is set to a first state, executing the at least one additional portion of the code, utilizing the at least one processing unit, using the at least one additional processing unit thread; and if the processor state indicator is set to a second state, executing the at least one additional portion of the code, utilizing the at least one processing unit, as a subroutine using the at least one processing unit thread.