Multi-Threading Manager
Use the Multi-Threading Manager (MTM) to view the toolpath processing threads created every time Mastercam generates or regenerates toolpaths that support multi-threaded processing. To display the MTM, click the View tab in Mastercam and toggle Multi-Threading on or off in the Managers group. All existing threads display in the MTM, along with their current states, progress bar indicators, and processing status.
Multi-threading is a special form of program that allows a single program to execute portions of itself concurrently, as opposed to a single-threaded program which executes in a linear mode. A thread is an independent "thread of execution" within a program's code that is managed by the computer's operating system and CPU (central processing unit). Programs that are multi-threaded can process more quickly, and more efficiently. Even more importantly, threads (particularly computational threads) can be queued and processed in background mode, allowing you to start new programs and tasks without waiting for others to finish.
This processing mode allows Mastercam to split the programs that regenerate its largest, most complex toolpaths into smaller and separate program threads that execute simultaneously.
When you activate multi-threaded processing for your Mastercam configuration, whenever you generate/regenerate multi-threaded toolpath types, you can continue working in Mastercam once the toolpaths have been sent to the Multi-Threading Manager dialog box. You do not have to wait for the toolpath regeneration to complete before starting another Mastercam function. Mastercam continues to process these toolpath files "in the background".
If multi-threading is not enabled for your Mastercam configuration, the title bar displays a message informing you that it is disabled. To enable the MTM, go to the Toolpaths page of the System Configuration dialog box. Select Enable Multi-threading on that page to enable the feature. Activate multi-threading for only the current Mastercam session or save the setting to your configuration file.
The Multi-Threading Manager displays on top of all other windows, Mastercam or any other program. This characteristic allows it to be thread safe in a manner similar to the Windows Task Manager. The MTM runs independently from Mastercam.
To reorder any column, drag and drop the column heading to a new position.
To resize a column, select and drag the vertical divider to the left or right.
To display or hide a column—other than the Process Name which is set to always display—right-click in the column heading row and select/deselect a column title.
Stop
Cancels the regeneration of the toolpath operation associated with the selected thread. Mastercam does not regenerate this toolpath when processing the remaining threads.
If one or more toolpaths are dependent on the toolpath you stopped (for example, a stock model operation), the dependent toolpaths are also not regenerated. When the regeneration is complete, all toolpaths affected by the cancellation are removed from the Multi-Threading Manager, and marked "dirty" in the Toolpaths Manager.
Pause
Suspends the toolpath thread until you choose Play to resume processing. If one or more toolpaths are dependent on the toolpath you paused (for example, a rest toolpath), the dependent toolpaths are not regenerated until their parent toolpath is processed completely.
When the regeneration of all other multi-threaded toolpaths is complete, paused toolpaths remain in the Multi-Threading Manager.
- The Progress column displays a yellow progress bar for the toolpath threads that are paused.
- Paused threads are still considered "active" and contribute to the maximum number of threads configured for the Multi-Threading Manager.
Play
Resumes processing of a toolpath thread that was previously paused in the Multi-Threading Manager.
Settings
Opens the Multi-Thread Settings dialog box.
Process name
Displays the toolpath number and name defined in the Toolpaths Manager for each thread created by the toolpath regeneration process.
State
Displays one of the following states to indicate the toolpath thread's processing status.
- Paused: The thread was manually paused. To release it for processing, press Play .
- Stopped: The thread was manually stopped (cancelled). Mastercam does not regenerate this toolpath when processing the remaining threads. When the regeneration is complete, the toolpath thread is removed from the MTM and marked "dirty" in the Toolpaths Manager.
- Pre-translate: The thread is active and the MTM is waiting to translate its binary NCI data.
- Translating: The MTM is currently translating binary NCI data for the toolpath thread.
- Processing: The MTM is processing toolpath computations for the thread.
- Queued: The thread is waiting in the queue because the MTM is already processing the maximum number of threads allowed; it must wait for one to complete before starting another.
States also display in the Progress column as color-coded progress bars.
Progress
Displays a color coded progress bar that shows the current State of processing each toolpath thread.
- Yellow: Paused
- Green: Processing
- Red: Stopped/Stopping
- Blue: Pre-translate
- Magenta: Translating
Status
Displays informational messages about the toolpath's processing status.
Mastercam processes toolpath threads when generating toolpaths without requiring user intervention. However, when necessary, you can use the buttons at the top of this dialog box to stop, pause, and play (resume) one or more selected threads. Other options let you reassign the priority of a thread.
To apply the same option to multiple threads, use standard Windows selection methods to choose threads in the list. Then right-click and select an option.
Right-click on any toolpath thread to Stop, Pause or Play (resume) processing. Pausing a thread suspends its processing; however it remains included in the number of threads in-process. Stopping a thread removes it from the queue.
Additional options let you set a processing priority in the queue, subject to any dependencies between toolpath threads. Changing the priority of a thread can make it run faster or slower (depending on whether you raise or lower the priority), but it can also adversely affect the performance of other threads. Choose from the following options:
- Realtime
- High
- AboveNormal
- Normal (default)
- BelowNormal
- Low
The Configure button opens the Multi-Thread Settings dialog box. You set the following options:
-
Maximum number of threads: Sets the maximum number of independent toolpaths Mastercam is allowed to process simultaneously. Threads are not affected by the number of cores that your system has. However, it is recommended that the number of threads match the number of cores since a thread can utilize a fully single CPU core.
NOTESome toolpaths, such as 3D high speed toolpaths, will attempt to use all available CPU cores to process, regardless of the set Maximum number of threads.
- Default priority: Sets the CPU priority of the threads. The higher the priority, the more CPU slice time the threads launched by Mastercam get by the operating system.
These toolpaths are available for multi-threading:
| Toolpath Name | Background Thread | Multiple Cores |
|---|---|---|
|
2D High Speed Milling/Routing Toolpaths |
||
| Dynamic Contour | Yes | No |
| Dynamic Mill | Yes | No |
| Peel Mill | Yes | No |
| Area Mill | Yes | No |
| Blend Mill | No | No |
| 3D High Speed Milling/Routing Toolpaths | ||
| Dynamic OptiRough | Yes | Yes |
| Area Roughing | Yes | Yes |
| Equal Scallop | Yes | Yes |
| Hybrid | Yes | Yes |
| Pencil | Yes | Yes |
| Blend | Yes | Yes |
| Horizontal Area | Yes | Yes |
| Scallop | Yes | Yes |
| Project | Yes | Yes |
| Raster | Yes | Yes |
| Spiral | Yes | Yes |
| Radial | Yes | Yes |
| Utilities | ||
| Stock Model Operations | Yes | Yes |
Any toolpath that can compute across multiple cores can also process background threads. Mastercam optimizes the processing order and priority.
Notes
- You can enable/disable multi-threaded toolpath processing as part of your Mastercam configuration (File, Configuration, Toolpaths page). Or, you can use Toggle Multi-Threading, a command available through the Command Finder, to turn it on or off for the current Mastercam session.
- If you attempt to make changes to the parameters, tools, geometry, or the NCI of a toolpath that is currently processing, a warning will display stating that you cannot change or delete the operation while it is processing.
- You can still view the parameters or geometry, however the toolpath dialog box will be read-only.
- The Mastercam Event Logger, located in your system tray during an open Mastercam session, keeps a log of Mastercam error and warning messages, and program processes. This log includes information on the toolpath operations that are multi-threaded and the time it takes to process each thread, as well as the total processing time for an entire multi-threaded regeneration. This information can help you compare the processing time of a set of toolpaths using single-threaded and multi-threaded modes.
- When processing toolpaths
in multi-threaded mode, the Toolpaths Manager displays three icons to
indicate that toolpaths are being processed as threads in the Multi-Threading
Manager. The icons are green, yellow, or red spools of thread.
Green icons indicate threads that are being processed in the MTM.

Yellow icons are assigned to dependent toolpath threads (for example, rest toolpaths). Dependent threads require data from prior "parent" toolpath threads. Dependent threads cannot begin processing until the MTM completely finishes processing the parent thread (including translation of the binary NCI data).

Red icons indicate that an error occurred during the multi-thread process.






