Patent ID: 7243345

Claim:
A multi-thread executing method of dividing a single program into a plurality of threads and executing the program by a plurality of processors in parallel, comprising the following steps in which: each of said processors assures Fork-Once limitation at a time of program execution, by selecting one fork instruction for creating an effective child thread from a plurality of fork instructions existing within a parent thread, during execution of said parent thread; and said processor having generated an effective child thread finishes processing of a thread by executing an instruction up to an address just before a starting address of said effective child thread, wherein when there already exists a child thread generated from said parent thread for every fork instruction of said parent thread, said child thread is cancelled and wherein when said first fork instruction has succeeded in forking a child thread, making invalid all said fork instructions other than said first fork instruction having succeeded in forking a child thread, in a processor having started execution of said parent thread.