# Accessing VisionPro Multi-Threaded Aware Vision Tools

Some VisionPro vision tools are multi-thread aware, and can be programmatically enabled to operate on threads. This can be accessed via script, such as the following example (the script has a Using statement of Cognex.VisionPro):

    CogVisionToolMultiThreading.Enable = true;
    CogVisionToolMultiThreading.ThreadCountMode = CogVisionToolMultiThreadingThreadCountModeConstants.HardwareDefined;

This option enables multi-threading on a VisionPro vision tool level (e.g. a CogBlobTool), which is different than the Processing Parallel Regions, which creates a multi-thread on the Designer Task Block level. For example:

- A PC with a two-core processor, with two VisionPro Tool Blocks in a Processing Parallel Regions. Designer will use two threads and execute each block on independent threads, using the two available cores, which means that multi-threading the individual vision tools will be unlikely to yield better results.
- A PC with a two-core processor, with two VisionPro Tool Blocks, and a Parallel Region is not being used. The Task is executed on a single thread, so if the vision tools are multi-threaded, they will be able to take advantage of the extra processor core.

Note: This option is useful if a Processing Parallel Regions cannot be used. However, also note that not all VisionPro vision tools will benefit from this option. Please refer to the VisionPro® Online Documentation for more information on multi-thread aware vision tools.