O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

ProcessThread

Synopsis

This class represents a thread, the smallest unit of execution under Win32. Use Process.Threads to get an array of all the threads contained within a given process. As with processes, a thread runs with a given priority. BasePriority represents the base priority for a thread. From time to time, the operating system changes a thread’s priority; a thread’s current priority is available from CurrentPriority. Threads in background applications run with a lower priority, as do threads that are sleeping. BasePriority PriorityLevel specifies a range of appropriate priorities for a thread.

If a process is ProcessPriorityClass.Normal, ProcessPriorityClass.High, or ProcessPriorityClass.RealTime, you can set a thread’s PriorityBoostEnabled to true. This gives the thread an extra boost whenever the user is interacting with the program’s user interface. You can make a thread prefer one processor over another by setting the value of IdealProcessor. ProcessorAffinity allows you to set up a bitfield that represents one or more preferred processors. Bit 0 represents the first processor, bit 1 the second, and so on. For example, a ProcessorAffinity of 0x0005 (bits 0 and 2 on) indicates that the first and third processor are preferred. Use ResetIdealProcessor() to tell the thread that it can run on any processor, leaving the processor choice up to the operating system.

ThreadState returns the current state of a thread. If a thread is waiting, you can retrieve the reason ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required