In some scenarios, the user performs explicit state transitions. Other times, the user should rely on the task to perform implicit state transitions. Which method you use depends on your application. The following list identifies instances that require explicit state transitions:

  • Verify—Some applications require users to interactively configure the channel, timing, and triggering attributes/properties of a task. For these applications, explicitly verify the task occasionally to ensure that attribute/property values are valid.
  • Reserve—If the following are all true, explicitly reserve a task:
    • Your application contains many different tasks that use the same set of resources.
    • One of these tasks performs a repeated operation.
    • You want to ensure that no other tasks acquire the resources used by this task after the repeated operation begins.
    Reserving the task exclusively acquires the resources that the task uses. Reserving the task also ensures that other tasks cannot acquire these resources. For example, your application contains two tasks that each perform a sequence of measurements. To ensure that each sequence completes before the other sequence begins, explicitly reserve each task before it begins its sequence of measurements.
  • Commit—If your application performs multiple measurements/generations by repeatedly starting and stopping a task, explicitly commit a task. Every time the task starts, it must acquire and configure resources. Committing the task exclusively acquires the resources that the task uses and programs some of the settings for these resources. Explicitly committing the task ensures that the task performs these operations once which decreases the overall start time for the task. For example, your application repeatedly performs finite, hardware-timed measurements. Commit the task before repeatedly performing these measurements. This action can dramatically decrease the time that is required to start the task. Explicitly committing a task is also required if you perform additional read operations of these acquired samples. For more information, refer to Using the Start Task Function/VI.
  • Start—If your application repeatedly performs read or write operations, explicitly start a task. Starting the task does the following:
    • Reserves the resources used by the task.
    • Programs some of the settings for these resources.
    • Begins to perform the specified operation.
    These operations occur each time the application performs a read or write operation. Explicitly starting the task ensures that the task performs these operations once which considerably decreases the time required. For example, your application repeatedly performs single-sample, software-timed read operations. Explicitly start the task before each read operation. This action can dramatically decrease the time that is required for each read operation.