-
Invoke() 메서드Programing/C# 2009. 3. 20. 16:01
윈도우 폼 위의 버튼을 누르다든가 마우스를 움직인다든가 하는 것의 모든 처리는
내부적으로 사용자의 이벤트에 의해 계속해서 스레드 처리하여 반응한다.
만약 다른 스레드가 직접 점근하게 되면 스레드 교차되었다는 에러 메시지를 내게 된다.
폼 스레드에 다른 스레드가 접근하여 폼 스레드가 처리하는데 방해를 받는다는 뜻이다.
이와 같이 스레드가 교차되는 것을 피하기 위해 폼의 이벤트 처리를 담아 놓는 메시지 큐에 처리 하고자 하는 이벤트를 넣게 되면 폼은 아무런 에러 없이 처리하게 된다.
바로 이렇게 해주는 것이 Invoke() 메소드이다.
즉
쓰레드 ------> 메시지 큐 -------> 윈도우 폼
으로 처리된다.
'Programing > C#' 카테고리의 다른 글
c# 마샬링 (0) 2011.07.01 DispatcherTimer 현재 시간 갱신 (1) 2010.11.05 c# 에서의 using (0) 2009.04.24 KeyValuePair 사용하기 (0) 2009.04.09 추상클래스(Adstract Calss) (0) 2009.03.29 스트림(Stream) (0) 2009.03.19 스레드 사용하기 (0) 2009.03.19 연결형 스트림 소켓과 비연결형 데이터그램 소켓 (0) 2009.03.18 IPHostEntry 와 IPEndPoint (0) 2009.03.18 생성자에서의 this 와 base (0) 2008.08.27