Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

원칙적으로 여전히 Join은 정상적으로 동작하는 것이 맞습니다.

문제는 funcWriteList에서 UI Thread에 참여하기 위해 BeginInvoke를 하신 점에 있습니다. 한번 순서를 따라가 볼까요?

1. btnExecuteShowList_T_Click 메서드
  2. funcExecuteShowList_Start 메서드 호출 ("시작합니다." 출력)
  3. Thread.Start( this.funcGetDirectoryList ); 스레드 시작
  4. Thread.Join(); 스레드 대기
    5. this.funcGetDirectoryList 스레드 동작
    6. funcGetDirectoryList 내부에서 BeginInvoke "비동기" 출력 함수 호출 (UI 스레드에서 실행되는.)
    7. 스레드 완료
  8. Join으로 대기하던 UI 스레드 구동 시작
  9. funcExecuteShowList_End 메서드 호출
  9. "6."번 단계에서 BeginInvoke로 대기하고 있던 delegate 메서드 호출. 따라서 이 시점에서 "디렉터리 경로가 존재하지 않습니다" 출력.

만약, 원하는 결과를 얻고 싶다면, 6번 단계에서 "BeginInvoke"가 아닌 "Invoke" 함수를 호출하시면 되는데, 이것이 여의치 않은 것이, UI 스레드를 Thread.Join으로 묶고 있기 때문에 이런 경우에는 무한 대기 상태에 빠지게 됩니다.

이렇게 스레드에서 출력하고 싶은 메시지가 있는 경우에는 Thread.Join으로 대기하고 있으면 안됩니다.








[최초 등록일: ]
[최종 수정일: 6/25/2021]


비밀번호

댓글 작성자
 



2008-03-06 04시13분
[김재영] 동작 flow 까지!!
답글 작성과는 다른 내용으로 죄송합니다만.
아예 계속 동작순서 모르고 뛰어들기보다
Thread를 처음부터 다시 봐야겠습니다. ^^;;

바쁘신중에도 시간내어 답글 작성해주신 것 감사합니다. ^^
[guest]

1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...
NoWriterDateCnt.TitleFile(s)
5652감사합니...5/2/202211069프로그램 종료되면 리소스(관리, 비관리)는 알아서 해제 되나요? [2]
5651윤식4/26/202211839상속 구조 관련 질문드립니다. [8]
5650김기헌4/19/202211520WPF 리소스 관련 질문드립니다 [3]
5649주니어4/15/202210785ffmpeg 질문 있습니다! [2]
5648주니어개...4/13/202211193컴파일된 코드를 원시코드로 바꾸려면 어떻게해야하나요? [1]파일 다운로드1
5647장성욱4/7/202211081코어지정 CPU사용률 관련 질문 [1]
5646서형주4/6/202211337List에 여러개의 class 객체를 만들어 넣을때, 객체의 method들도 같이 생성되어 메모리를 차지하나요? [1]
5645김인태4/6/202210709윈도우즈 서버의 AD 계정 생성 조건이 있을까요? [1]
5644ㅇㅇ4/6/202211653c# 프로그램을 이용하여 리눅스상에 파일 생성이 가능한가요? [1]
5643유필재4/5/202211856TCP클라이언트 연결 및 통신관련하여 문의드려요 [1]
5642차가워4/4/202212107UdpClient 패킷 수신 문의 [4]
5641장성욱4/4/202212011코어 할당 및 cpu 부하테스트 질문 [7]
5640icoo...4/4/202212438웹가든에서 메모리 동적 업데이트 방법 [1]
5639차가워4/4/202212691c++ 서버 c# 클라이언트 호환 문의 [1]
5638초급4/3/202213059c# sql server 연동 [1]
5637따봉이4/1/202214085Winform Form Load 후 자동 캡쳐관련 [1]파일 다운로드1
5636김철순3/31/202213357WPF에서 Richtext의 View 문의 [5]
5635guest3/30/202212313안정적인 pinning이 가능하네요. [3]파일 다운로드1
5633꿀주세요3/30/202212211선생님 마우스 클릭이벤트 질문이 있습니다. [4]
5632김현수3/30/202212930Remote Desktop으로 접속시 WPF UI 가 다시 그려지는 이벤트를 막을 수 없을까요? [3]
5631김기헌3/24/202212416WPF 컨트롤의 그래픽 처리관련 질문드립니다 [2]파일 다운로드1
5630장성욱3/24/202212287로깅관련 질문입니다. [2]
5629감사합니...3/23/202212641함수에서 예외가 발생하면 try ~ catch처리기를 찾을 때 까지 상위 함수로 계속 올라가나요? [2]
5628홍길동3/23/202213957질문드립니다. [2]파일 다운로드1
5626연준혁3/21/202212998안녕하세요. [3]
5625jaew...3/18/202213131c# 8.0 도서를 구입한 사람입니다. [1]
1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...