1. An apparatus comprising: a data processor configured to: execute a plurality of threads for executing at least one of device control or predetermined data processing and a control thread for constructing an application using the threads, the application being defined by a combination of the threads and a dependent relation indicating an execution order for executing the threads based on whether or not execution of any one or more of the threads needs a processing result of the other threads, repeatedly check whether or not each of the threads is independently executable at least one of predetermined intervals or completion of processing of each of the threads, and on a condition that a plurality of the threads are determined to be independently executable, instruct the independently executable threads so that the plurality of independently executable threads are executed in an inverse order of the execution order based on the dependent relation.