다음을 통해 공유


ThreadPool.UnsafeQueueUserWorkItem 메서드

정의

오버로드

UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)

지정된 작업 항목 개체를 스레드 풀의 큐에 넣습니다.

UnsafeQueueUserWorkItem(WaitCallback, Object)

지정된 대리자를 스레드 풀에 대기시키지만 호출 스택을 작업자 스레드에 전파하지 않습니다.

UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean)

실행을 위해 Action<T> 대리자에 의해 지정된 메서드를 큐에 대기시키고 메서드에서 사용할 데이터가 들어 있는 개체를 지정합니다. 이 메서드는 스레드 풀 스레드를 사용할 수 있을 때 실행됩니다.

UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)

지정된 작업 항목 개체를 스레드 풀의 큐에 넣습니다.

public:
 static bool UnsafeQueueUserWorkItem(System::Threading::IThreadPoolWorkItem ^ callBack, bool preferLocal);
public static bool UnsafeQueueUserWorkItem (System.Threading.IThreadPoolWorkItem callBack, bool preferLocal);
static member UnsafeQueueUserWorkItem : System.Threading.IThreadPoolWorkItem * bool -> bool
Public Shared Function UnsafeQueueUserWorkItem (callBack As IThreadPoolWorkItem, preferLocal As Boolean) As Boolean

매개 변수

callBack
IThreadPoolWorkItem

스레드 풀에 있는 스레드에서 작업 항목을 선택할 때 호출하는 작업 항목입니다.

preferLocal
Boolean

현재 스레드에 가까운 큐에 작업 항목을 넣으려면 true이고, 스레드 풀의 공유 큐에 작업 항목을 넣으려면 false입니다.

반환

Boolean

메서드가 성공하면 true이고, 작업 항목을 큐에 대기할 수 없으면 OutOfMemoryException이 발생합니다.

예외

callback이(가) null인 경우

작업 항목은 Task입니다.

작업 항목을 큐에 대기할 수 없는 경우

설명

스레드 풀은 작업 항목의 Execute() 메서드를 호출합니다. 필요한 경우 해당 작업 항목을 전파 ExecutionContext 해야 합니다. 스레드 풀은 전파하지 않습니다.

적용 대상

UnsafeQueueUserWorkItem(WaitCallback, Object)

지정된 대리자를 스레드 풀에 대기시키지만 호출 스택을 작업자 스레드에 전파하지 않습니다.

public:
 static bool UnsafeQueueUserWorkItem(System::Threading::WaitCallback ^ callBack, System::Object ^ state);
public static bool UnsafeQueueUserWorkItem (System.Threading.WaitCallback callBack, object? state);
public static bool UnsafeQueueUserWorkItem (System.Threading.WaitCallback callBack, object state);
[System.Security.SecurityCritical]
public static bool UnsafeQueueUserWorkItem (System.Threading.WaitCallback callBack, object state);
static member UnsafeQueueUserWorkItem : System.Threading.WaitCallback * obj -> bool
[<System.Security.SecurityCritical>]
static member UnsafeQueueUserWorkItem : System.Threading.WaitCallback * obj -> bool
Public Shared Function UnsafeQueueUserWorkItem (callBack As WaitCallback, state As Object) As Boolean

매개 변수

callBack
WaitCallback

스레드 풀에 있는 스레드에서 작업 항목을 선택할 때 호출되는 대리자를 나타내는 WaitCallback입니다.

state
Object

스레드 풀에서 제공할 때 대리자에 전달되는 개체입니다.

반환

Boolean

메서드가 성공하면 true이고, 작업 항목을 큐에 대기할 수 없으면 OutOfMemoryException이 발생합니다.

특성

예외

호출자에게 필요한 권한이 없는 경우

메모리가 부족한 경우

작업 항목을 큐에 대기할 수 없는 경우

callBack이(가) null인 경우

설명

메서드 UnsafeQueueUserWorkItemQueueUserWorkItem 달리 호출 스택을 작업자 스레드로 전파하지 않습니다. 이렇게 하면 코드가 호출 스택을 손실하여 보안 권한을 높일 수 있습니다.

주의

사용하면 UnsafeQueueUserWorkItem 실수로 보안 구멍이 열릴 수 있습니다. 코드 액세스 보안은 스택에 있는 모든 호출자의 권한에 대한 권한 검사를 기반으로 합니다. 작업을 사용하여 UnsafeQueueUserWorkItem스레드 풀 스레드에서 큐에 대기하는 경우 스레드 풀 스레드의 스택에는 실제 호출자의 컨텍스트가 없습니다. 악성 코드는 사용 권한 검사를 방지하기 위해 이를 악용할 수 있습니다.

추가 정보

적용 대상

UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean)

실행을 위해 Action<T> 대리자에 의해 지정된 메서드를 큐에 대기시키고 메서드에서 사용할 데이터가 들어 있는 개체를 지정합니다. 이 메서드는 스레드 풀 스레드를 사용할 수 있을 때 실행됩니다.

public:
generic <typename TState>
 static bool UnsafeQueueUserWorkItem(Action<TState> ^ callBack, TState state, bool preferLocal);
public static bool UnsafeQueueUserWorkItem<TState> (Action<TState> callBack, TState state, bool preferLocal);
static member UnsafeQueueUserWorkItem : Action<'State> * 'State * bool -> bool
Public Shared Function UnsafeQueueUserWorkItem(Of TState) (callBack As Action(Of TState), state As TState, preferLocal As Boolean) As Boolean

형식 매개 변수

TState

state의 요소 형식입니다.

매개 변수

callBack
Action<TState>

실행할 메서드를 나타내는 대리자입니다.

state
TState

메서드에서 사용할 데이터가 들어 있는 개체입니다.

preferLocal
Boolean

현재 스레드에 가까운 큐에 작업 항목을 넣으려면 true이고, 스레드 풀의 공유 큐에 작업 항목을 넣으려면 false입니다.

반환

Boolean

메서드가 성공적으로 큐에 대기되면 true이고, 작업 항목을 큐에 대기할 수 없으면 NotSupportedException이 throw됩니다.

예외

callback이(가) null인 경우

작업 항목을 큐에 대기할 수 없는 경우

적용 대상