Certain functions in Surfer 15 are multi-threaded. These processes include gridding and generation of color relief maps; workflows that can be very CPU intensive and time-consuming. Multithreading was enabled for these workflows to speed up processing time.
The remaining Surfer 15 processes - as well of all of Surfer's processes in versions 14 and earlier - are single threaded. This means the user interface, gridding, import/export, etc all share one thread and the redraw to regenerate the offscreen image of the window contents runs on a second thread. The redraw of the screen contents can proceed at the same time as other tasks (like user interface changes, gridding, etc). However, the redraw thread is not used very heavily since redraw usually happens fairly quickly.
It is up to Windows how those threads are mapped to processors (or cores in a multi-core CPU). In general though, a single threaded application can only use 100% of a single core processor, 50% of both cores in a dual processor, 25% of all 4 cores in a quad core processor, etc. On a dual core CPU (where a single threaded application always uses both cores at 50% each), to get both cores running at 100%, you could get a big process running on the main thread (say a large gridding process) and then trigger a massive redraw to get the second thread running.
Updated September 18, 2017