1. 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.