언어/C#

Invoke & BeginInvoke

에린_1 2024. 7. 31. 09:53
728x90

Invoke & BeginInvoke

Invoke

  1. Control.Invoke
    • 컨트롤의 내부 핸들이 있는 스레드에서 지정된 대리자를 실행하는 방법이다.
    • UI 컨트롤 스레드에서 실행되지만 호출 스레드가 실행되기 앞서 기존 스레드 완료를 기다리고 호출된다.
  2. Delegate.Invoke
    • 동일한 스레드에서 사용할 대리자를 동기적으로 실행하는 방법이다.
  • 컨트롤의 본인 스레드가 아닌 다른 스레드를 이용하여 해당 컨트롤 객체를 동기식으로 실행하는 방법이다.

BeginInvoke

  1. Control.BeginInvoke
    • 컨트롤의 기본 핸들이 만들어진 스레드에서 대리자를 비동기적으로 실행하는 방법이다.
  2. Delegate.BeginInvoke
    • 컨트롤의 내부 핸들이 만들어진 스레드에서 지정된 인수를 사용하여 지정된 대리자를 비동기적으로 실행하는 방법이다.
  • 컨트롤의 본인 스레드가 아닌 다른 스레드를 이용하여 해당 컨트롤 객체를 비동기식으로 실행하는 방법이다.
728x90

'언어 > C#' 카테고리의 다른 글

Interlocked  (0) 2024.07.31
ArraySegment  (0) 2024.07.31
ConcurrentQueue<T>  (0) 2024.07.31
Dispose  (0) 2024.07.31
Using  (0) 2024.07.31