A control device (1, 1 a) for controlling a control object apparatus comprising: a task executing unit configured to execute a plurality of tasks in parallel with one another and to execute each task in a cycle based on the task, a mode switching unit configured to switch operation modes of the task executing unit, a receiving unit configured to receive a switching instruction for operating modes in the task executing unit, a storing unit (12, 12a) configured to store a user program; and a communication unit configured to communicate with a tool device for editing the user program stored in the storing unit (12, 12a), wherein the task executing unit is configured such that in a first mode, a user program is executed for each task, and in a second mode, a user program is not executed for each task, wherein the mode switching unit is configured such that upon receipt of a switching instruction for operating modes of the task executing unit, the mode switching unit does not switch the operating modes of the task executing unit until the plurality of tasks to be executed by the task executing unit have been synchronized with each other, and the operating mode of the task executing unit is switched when the plurality of tasks are synchronized with each other, wherein after the receipt of the switching instruction by the receiving unit, when the plurality of tasks which are being executed by the task executing unit are synchronized with one another, the mode switching unit switches the operating mode in the task executing unit, and wherein the receiving unit receives the switching instruction transmitted from the tool device via the communication unit. a task executing unit configured to execute a plurality of tasks in parallel with one another and to execute each task in a cycle based on the task, a mode switching unit configured to switch operation modes of the task executing unit, a receiving unit configured to receive a switching instruction for operating modes in the task executing unit, a storing unit (12, 12a) configured to store a user program; and a communication unit configured to communicate with a tool device for editing the user program stored in the storing unit (12, 12a), wherein the task executing unit is configured such that in a first mode, a user program is executed for each task, and in a second mode, a user program is not executed for each task, wherein the mode switching unit is configured such that upon receipt of a switching instruction for operating modes of the task executing unit, the mode switching unit does not switch the operating modes of the task executing unit until the plurality of tasks to be executed by the task executing unit have been synchronized with each other, and the operating mode of the task executing unit is switched when the plurality of tasks are synchronized with each other, wherein after the receipt of the switching instruction by the receiving unit, when the plurality of tasks which are being executed by the task executing unit are synchronized with one another, the mode switching unit switches the operating mode in the task executing unit, and wherein the receiving unit receives the switching instruction transmitted from the tool device via the communication unit.