Patent ID: 7770177

Claim:
An information processing apparatus comprising: a thread management unit storing thread management information including a thread list comprising first variables corresponding to a plurality of threads, the plurality of threads including a first thread that is generated at a first entry time when a first function is called to be executed by using the first thread, and a second thread that is generated at a second entry time when a second function is called to be executed by using the second thread, wherein the first thread is generated at a time before the generation of the second thread, and wherein the first variables include the first entry time and the second entry time, the first entry time being included in the first variables when the first thread is generated, and the second entry time being included in the first variables when the second thread is generated; and a memory area management unit storing memory management information used to manage a memory area divided into heap units including a first heap unit requested for execution of the first function, the memory management information including a release queue containing a release request time indicating a time at which the first heap unit is scheduled to be released after execution of the first function, wherein the second thread requests allocation of memory to execute the second function, wherein the release request time is compared with an oldest entry time to determine availability of the first heap unit for execution of the second function, the oldest entry time corresponding to the first entry time and indicating an oldest time from entry times included in the first variables, and wherein the first heap unit is released from execution of the first function and allocated to the second thread when a result of the comparison indicates that the release request time is a time prior to a time indicated by the oldest entry time.