A portable thread environment comprising: an application programming interface
configured to support multiple application program tasks with each task comprised
of one or more threads; host adaptation logic for communicatively interfacing the
tasks and threads with a host processing environment; and a scheduler configured
to determine an execution order of the one or more threads based on one or more
execution variables.