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

Thread

Synopsis

Most interaction with the System.Threading namespace occurs via the Thread type. This type encapsulates most of the logic needed to control the way threads behave.

The most commonly used static methods, usually referred to as thread relative statics, are methods and properties that refer to the currently executing thread. Sleep() causes the calling thread to sleep for a specified amount of time. If for some reason the thread gets woken up, a ThreadInterruptedException is thrown. Because this method can only be called by the current thread and not on a reference to a thread that may also be executing, the thread sleeps immediately and does not need to wait for a safe point for garbage collection as the Suspend() method does (see later in this entry).

GetData() retrieves data from a specified slot in thread local storage. To use this method, slots need to be initialized already (see later in this section). SetData() stores data in thread local storage to be retrieved using GetData(). AllocateDataSlot() and AllocateNamedDataSlot() allocate a data slot for use with the previous two methods.

The Thread class also provides the static property CurrentThread, which returns a reference to the Thread object for the currently running thread. The current thread can then access any of the following instance methods or properties on itself: Abort() causes a thread to abort, throwing a ThreadAbortException and executing any finally blocks. You may catch the ThreadAbortException ...

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