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]

... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4963이대희3/29/201815760UWP 스터디를 위해 찰스페졸드 저자의 Programming Windows 6판은 어떠한지요? [1]
4962포플러3/26/201816248C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [2]
4966포플러3/30/201816238    답변글 [답변]: C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [1]
4961김민욱3/26/201817567레이더 뷰어의 구현 방법(이미지 확대 축소 관련) [2]
4960hurd...3/18/201816383OCX 관련한 질문을 드리고자 합니다. [1]
4959익명3/10/201816468교재 199page 델리게이트와 object를 이용한 범용 정렬 코드 [1]
4957멍멍이2/13/201816593System.Console - WriteLine함수의 제너릭 사용 [1]
4956김성대2/12/201816205asp.net 질문입니다. [1]
4955웅이2/12/201816753[삭제] WPF에서 list 속도 향상하는 방법이 있을까요?
4954초보자2/8/201818617FFT Library 사용 [1]
4950ASP열공2/5/201816132asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4951ASP열공2/6/201816976    답변글 [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4952ASP열공2/7/201816601        답변글 [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4953ASP열공2/7/201815998            답변글 [답변]: [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다.
4949김성대1/31/201817595비동기 질문입니다. [3]파일 다운로드1
494880511/31/201817203C# 7.1책 보다가 질문드립니다 [1]
4947김성대1/30/201816836[삭제] 비동기 질문입니다. [2]파일 다운로드2
4946윤현수1/29/201816726비동기 TCP통신 데이터 문제 [4]파일 다운로드1
4945김성대1/26/201815117비동기 질문입니다. [1]파일 다운로드1
4944popo1/25/201814322[삭제] 스레드 안에서 Window Visibility 변경시 DialogResult 오류 질문
4943김성대1/22/201815747FromAsync 질문입니다. [1]
4942박현일1/19/201816950WPF 공부중 모르는 문법이 있어서요~^^; [2]
4941김성대1/18/201815422비동기예약어 실행오류관련입니다. [1]
4940plzh...1/10/201816425webbrowser2 를 이용한 sns 로그인 구현 관련 문의 [2]
4939이성일1/4/201818117ClickOnce 배포 후 업데이트 시 발생하는 오류에 대해 질문 드립니다. [2]
4938김성대1/3/201815803채팅 프로그램관련 질문입니다. [9]파일 다운로드1
... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...