Provided is a program execution apparatus that appropriately determines an execution sequence of tasks each given a target completion time before which execution of the task is to be completed, and executes the tasks according to the determined execution sequence. For each task a plurality of types of priorities having a hierarchical relationship among them are set. The apparatus includes: a storing unit that stores an identifier of each task that is already in existence, at a memory position therein determined based upon a plurality of types of priorities set for each task; a receiving unit that receives an identifier of a new task, and a plurality of types of priorities set for the new task; and a writing unit that writes the received identifier at a memory position in the storing unit determined based upon the received plurality of types of priorities.
展开▼