Microsoft MVP성태의 닷넷 이야기
이벤트 핸들러와 쓰레드의 관계 [링크 복사], [링크+제목 복사],
조회: 18332
글쓴 사람
임동찬 (dngchn.im at samsung.com)
홈페이지
첨부 파일
 

안녕하세요.
현재 테스트하는 코드에서 보면,
하나의 이벤트를 구독하고 이벤트 수신될때 이를 처리하는 간단한 구조입니다.

이벤트 핸들러 메서드에 브레이크 포인트를 잡아서,
주기적으로 이벤트가 발생될 때마다 디버그 모드로 진입하면,
해당 주기마다 이벤트 핸들러 메서드로 잘 들어오긴 하는데,
이 메서드를 처리하는 쓰레드가 3개나 됩니다.
그 3개의 worker 쓰레드의 메인 쓰레드는 당연히 하나이구요.
(위에서 브레이크 포인트에 걸렸을때 쓰레드 창을 통해 확인한 결과)
...
현상만으로 보면, 하나의 메인쓰레드에서 주기적인 이벤트가
반복적으로 들어올 때마다 3개의 쓰레드에서 이를 처리하는 것입니다.
3개의 쓰레드가 진입되는 순서는 일정치 않습니다.
...
왜 그럴까요?
쓰레드를 확인해보기 전까지는 당연히 하나의 쓰레드에서만 계속해서,
해당 이벤트를 받아 처리할 것이라 예상했는데, 동일한 이벤트를
처리하기 위해 3개의 쓰레드가 생성되어 실행되네요.
이 현상이 프레임웍 내부적인 것이니 신경쓰지 않아도 되는지,
뭔가 버그가 있는 것인지 알길이 없어 답답합니다.
조언 부탁드려요.








[최초 등록일: ]
[최종 수정일: 1/12/2010]


비밀번호

댓글 작성자
 



2010-01-12 09시07분
그럼, 당연히 3개의 쓰레드에서 메인 쓰레드에서 발생하는 이벤트에 대해 걸고 있는 것입니다. 아래의 글을 읽어보시고, 실제로 이벤트 핸들러에 걸려 있는 숫자를 확인해 보시면 되겠습니다.

이벤트에 속한 이벤트 핸들러 확인
; http://www.sysnet.pe.kr/2/0/618

WPF 이벤트에 속한 핸들러 확인
; http://www.sysnet.pe.kr/2/0/624

물론, 이벤트를 구독하는 코드를 검색해 보시고 실행 횟수를 확인해 보는 것이 직접적으로 해결 방법이 될 것입니다.
kevin25

... 46  47  [48]  49  50  51  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
3669다비드12/18/201518105인터넷 임시파일 삭제 관련 질문. [1]
3668김치사발면12/16/201517502템플릿이 자꾸 초기화? 되버리네요 [1]
3667김치사발면12/15/201517055템플릿 설정 추가 질문 [1]파일 다운로드1
3666노태현12/15/201516453사용자별로 권한을 주고 볼 수 있는 데이터를 제한하려면 어떤 방법으로 접근하는게 좋을까요? [2]
3665김치사발면12/14/201519722C# 템플릿 설정이 이상해요ㅜㅜ [3]파일 다운로드1
3664KuLu12/10/201516733멀정하던 사이트 중 일부메뉴가 응답없음이 되어버립니다. [3]
3663Sung...12/10/201518365UWP 서버 프로그래밍 작업 중 [5]
3662Sung...12/9/201518223uwp앱에서 접속한 클라이언트 주소값을 받아서 표시하고 싶은데 어떤 메소드를 써야 할까요? [7]
3661김무진12/9/201517734Oracle 환경에서 데이터를 조회할때 한글이 ? 이렇게 표시가됩니다. [1]
3660질문자12/7/201519792OpenFileDialog 호출시 hang걸리는 문제 [4]
3659Sung...12/4/201519559UWP 앱에서 textBox로 클라에서 받은 값을 나타내고 싶은데 안되고 있습니다. [5]
3658강준12/3/201518564Visual Studio (Xamarin) vs Eclipse [2]
3656DEVY...12/1/201517901MasterPageFile 사용시 다국어 처리 질문입니다. [1]
3653DEVY...11/26/201519599ds:Signature 질문입니다. [7]
3654윤용한11/27/201519588    답변글 [답변]: ds:Signature 질문입니다. [3]
3657윤용한12/1/201521194    답변글 [답변]: ds:Signature 질문입니다. [1]
3651노태현11/20/201552002MariaDB - ASP.NET오류의 원인조차 못 찾고 있습니다.. [2]파일 다운로드2
3652노태현11/20/201519784    답변글 [답변]: MariaDB - ASP.NET오류의 원인조차 못 찾고 있습니다.. [3]
3649kokon11/17/201519157예제 파일 실행이 안 되네요 [5]
3647Sang...11/15/201517563Part 3 목차? [5]
3646힘찬도약11/13/201522954c# mscorlib System.IO IOException [8]파일 다운로드2
3644힘찬도약11/11/201521753c# user.config파일 [2]
3645spow...11/13/201518394    답변글 [답변]: c# user.config파일 - Json.NET을 이용한 설정파일 처리 [1]파일 다운로드1
3643힘찬도약11/11/201520166C# 함수의 processing time과 재호출 [14]
3642.net11/10/201519363c# 으로 작성된 com+ 에 대한 문제입니다. [2]
3641힘참도약11/9/201519148c# log file 관련해서 질문드립니다. [5]
... 46  47  [48]  49  50  51  52  53  54  55  56  57  58  59  60  ...