Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
QueueUserWorkItemCallback.cs
Go to the documentation of this file.
1
namespace
System.Threading
;
2
3
internal
sealed
class
QueueUserWorkItemCallback : QueueUserWorkItemCallbackBase
4
{
5
private
WaitCallback
_callback
;
6
7
private
readonly
object
_state
;
8
9
private
readonly
ExecutionContext
_context
;
10
11
private
static
readonly Action<QueueUserWorkItemCallback>
s_executionContextShim
= delegate(
QueueUserWorkItemCallback
quwi)
12
{
13
WaitCallback callback = quwi._callback;
14
quwi._callback =
null
;
15
callback(quwi._state);
16
};
17
18
internal
QueueUserWorkItemCallback
(WaitCallback callback,
object
state
,
ExecutionContext
context)
19
{
20
_callback
= callback;
21
_state
=
state
;
22
_context
= context;
23
}
24
25
public
override
void
Execute
()
26
{
27
base.Execute();
28
ExecutionContext
.RunForThreadPoolUnsafe(
_context
,
s_executionContextShim
, in
this
);
29
}
30
}
31
internal
sealed
class
QueueUserWorkItemCallback
<TState> :
QueueUserWorkItemCallbackBase
32
{
33
private
Action<TState>
_callback
;
34
35
private
readonly TState
_state
;
36
37
private
readonly
ExecutionContext
_context
;
38
39
internal
QueueUserWorkItemCallback
(Action<TState> callback, TState
state
,
ExecutionContext
context)
40
{
41
_callback
= callback;
42
_state
=
state
;
43
_context
= context;
44
}
45
46
public
override
void
Execute
()
47
{
48
base.Execute();
49
Action<TState> callback =
_callback
;
50
_callback
=
null
;
51
ExecutionContext
.RunForThreadPoolUnsafe(
_context
, callback, in
_state
);
52
}
53
}
System.Threading.ExecutionContext
Definition
ExecutionContext.cs:10
System.Threading.QueueUserWorkItemCallbackBase
Definition
QueueUserWorkItemCallbackBase.cs:4
System.Threading.QueueUserWorkItemCallback.s_executionContextShim
static readonly Action< QueueUserWorkItemCallback > s_executionContextShim
Definition
QueueUserWorkItemCallback.cs:11
System.Threading.QueueUserWorkItemCallback._callback
Action< TState > _callback
Definition
QueueUserWorkItemCallback.cs:33
System.Threading.QueueUserWorkItemCallback._context
readonly ExecutionContext _context
Definition
QueueUserWorkItemCallback.cs:9
System.Threading.QueueUserWorkItemCallback.QueueUserWorkItemCallback
QueueUserWorkItemCallback(WaitCallback callback, object state, ExecutionContext context)
Definition
QueueUserWorkItemCallback.cs:18
System.Threading.QueueUserWorkItemCallback.Execute
override void Execute()
Definition
QueueUserWorkItemCallback.cs:25
System.Threading.QueueUserWorkItemCallback._state
readonly TState _state
Definition
QueueUserWorkItemCallback.cs:35
System.Threading.QueueUserWorkItemCallback._state
readonly object _state
Definition
QueueUserWorkItemCallback.cs:7
System.Threading.QueueUserWorkItemCallback.QueueUserWorkItemCallback
QueueUserWorkItemCallback(Action< TState > callback, TState state, ExecutionContext context)
Definition
QueueUserWorkItemCallback.cs:39
System.Threading.QueueUserWorkItemCallback._callback
WaitCallback _callback
Definition
QueueUserWorkItemCallback.cs:5
System.Threading.QueueUserWorkItemCallback
Definition
QueueUserWorkItemCallback.cs:32
System.Threading
Definition
TaskToApm.cs:3
System.ExceptionArgument.state
@ state
source
System.Private.CoreLib
System.Threading
QueueUserWorkItemCallback.cs
Generated by
1.10.0