try the following:
Thread.CurrentThread.Priority = ThreadPriority.BelowNormal
perhaps some other things (processes, threads) also need a lower priority, but this should support 100% processor utilization
for (external) processes, starts them using the following code (this is vb, but you should be able to hide it in your language
Dim myprocess As New System.Diagnostics.Process() myprocess.StartInfo.FileName = "C:\the\path\to\the\the\process.exe" myprocess.Start() myprocess.PriorityClass = ProcessPriorityClass.BelowNormal
you can set the priority of the current process of the work role , but it may depend on other processes, so watch out for it , it is better to set the priority of the required process below, this will not slow it down if there is no other work that needs to be done
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal
source share