1. A thread generation method of executing a plurality of threads of instruction streams, which are provided by dividing a program into said instruction streams, said method comprising: a first step of determining whether a child thread does not exist; a second step of determining whether the oldest parent thread in said multi-processor system does not exist; and a generation step of generating the child thread when it is determined that the oldest thread does not exist at said second step.