Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SynchronizationContext.cs
Go to the documentation of this file.
1namespace System.Threading;
2
4{
6
7 public static SynchronizationContext? Current => Thread.CurrentThread._synchronizationContext;
8
9 private static int InvokeWaitMethodHelper(SynchronizationContext syncContext, IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)
10 {
11 return syncContext.Wait(waitHandles, waitAll, millisecondsTimeout);
12 }
13
15 {
17 }
18
20 {
22 }
23
24 public virtual void Send(SendOrPostCallback d, object? state)
25 {
26 d(state);
27 }
28
29 public virtual void Post(SendOrPostCallback d, object? state)
30 {
31 ThreadPool.QueueUserWorkItem(delegate((SendOrPostCallback d, object state) s)
32 {
33 s.d(s.state);
34 }, (d, state), preferLocal: false);
35 }
36
37 public virtual void OperationStarted()
38 {
39 }
40
41 public virtual void OperationCompleted()
42 {
43 }
44
45 [CLSCompliant(false)]
46 public virtual int Wait(IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)
47 {
48 return WaitHelper(waitHandles, waitAll, millisecondsTimeout);
49 }
50
51 [CLSCompliant(false)]
52 protected static int WaitHelper(IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)
53 {
54 if (waitHandles == null)
55 {
56 throw new ArgumentNullException("waitHandles");
57 }
59 }
60
61 public static void SetSynchronizationContext(SynchronizationContext? syncContext)
62 {
63 Thread.CurrentThread._synchronizationContext = syncContext;
64 }
65
67 {
68 return new SynchronizationContext();
69 }
70}
static int InvokeWaitMethodHelper(SynchronizationContext syncContext, IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)
virtual void Post(SendOrPostCallback d, object? state)
static int WaitHelper(IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)
static ? SynchronizationContext Current
virtual void Send(SendOrPostCallback d, object? state)
virtual int Wait(IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)
virtual SynchronizationContext CreateCopy()
static void SetSynchronizationContext(SynchronizationContext? syncContext)
static bool QueueUserWorkItem(WaitCallback callBack)
static Thread CurrentThread
Definition Thread.cs:312
static unsafe int WaitMultipleIgnoringSyncContext(Span< IntPtr > waitHandles, bool waitAll, int millisecondsTimeout)
Definition WaitHandle.cs:69