ThreadPool.UnsafeQueueUserWorkItem(WaitCallback, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 대리자를 스레드 풀에 큐에 대기하지만 호출 스택을 작업자 스레드로 전파하지는 않습니다.
public:
static bool UnsafeQueueUserWorkItem(System::Threading::WaitCallback ^ callBack, System::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 스레드 풀의 스레드가 작업 항목을 선택할 때 호출할 대리자를 나타내는 A입니다.
- state
- Object
스레드 풀에서 서비스할 때 대리자에게 전달되는 개체입니다.
반품
true 메서드가 성공하면 이고, OutOfMemoryException 는 작업 항목을 큐에 대기할 수 없는 경우 throw됩니다.
- 특성
예외
호출자에게 필요한 권한이 없습니다.
메모리 부족 상태가 발생했습니다.
작업 항목을 큐에 대기할 수 없습니다.
callBack은 null입니다.
설명
메서드 UnsafeQueueUserWorkItem 와 QueueUserWorkItem 달리 호출 스택을 작업자 스레드로 전파하지 않습니다. 이렇게 하면 코드가 호출 스택을 손실하여 보안 권한을 높일 수 있습니다.
Caution
사용하면 UnsafeQueueUserWorkItem 실수로 보안 구멍이 열릴 수 있습니다. 코드 액세스 보안은 스택에 있는 모든 호출자의 사용 권한에 대한 권한 검사를 기반으로 합니다. 작업을 사용하여 UnsafeQueueUserWorkItem스레드 풀 스레드에서 큐에 대기하는 경우 스레드 풀 스레드의 스택에는 실제 호출자의 컨텍스트가 없습니다. 악의적인 코드가 이를 악용하여 권한 검사를 방지할 수 있습니다.