//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Diagnostics { using System.Threading; using System.Diagnostics; /// /// Specifies the reason a thread is waiting. /// public enum ThreadWaitReason { /// /// Thread is waiting for the scheduler. /// Executive, /// /// Thread is waiting for a free virtual memory page. /// FreePage, /// /// Thread is waiting for a virtual memory page to arrive in memory. /// PageIn, /// /// Thread is waiting for a system allocation. /// SystemAllocation, /// /// Thread execution is delayed. /// ExecutionDelay, /// /// Thread execution is suspended. /// Suspended, /// /// Thread is waiting for a user request. /// UserRequest, /// /// Thread is waiting for event pair high. /// EventPairHigh, /// /// Thread is waiting for event pair low. /// EventPairLow, /// /// Thread is waiting for a local procedure call to arrive. /// LpcReceive, /// /// Thread is waiting for reply to a local procedure call to arrive. /// LpcReply, /// /// Thread is waiting for virtual memory. /// VirtualMemory, /// /// Thread is waiting for a virtual memory page to be written to disk. /// PageOut, /// /// Thread is waiting for an unknown reason. /// Unknown } }