A multithreaded compiler for compiling a source program operating in one processing thread and including loop processes, the multithreaded compiler generating
- a plurality of processing thread programs that each transmit, each time a repetition in the loop process finishes, a combination of a value, indicating an execution result, and a sequential position of the repetition within the loop process, and
- a data updating management thread program that, upon receiving the combination from each processing thread, compares the sequential position included in the combination with a sequential position already stored in a storage unit and selectively overwrites a combination of the value and the sequential position stored in the storage unit with the received combination of the value and the sequential position.