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)
4969이대희3/31/201817094    답변글 [답변]: 자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다.파일 다운로드2
4970이대희4/1/201816301        답변글 [답변]: [답변]: 자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다. [1]
4963이대희3/29/201816359UWP 스터디를 위해 찰스페졸드 저자의 Programming Windows 6판은 어떠한지요? [1]
4962포플러3/26/201817098C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [2]
4966포플러3/30/201817310    답변글 [답변]: C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [1]
4961김민욱3/26/201818776레이더 뷰어의 구현 방법(이미지 확대 축소 관련) [2]
4960hurd...3/18/201817353OCX 관련한 질문을 드리고자 합니다. [1]
4959익명3/10/201817726교재 199page 델리게이트와 object를 이용한 범용 정렬 코드 [1]
4957멍멍이2/13/201817760System.Console - WriteLine함수의 제너릭 사용 [1]
4956김성대2/12/201817502asp.net 질문입니다. [1]
4955웅이2/12/201818155[삭제] WPF에서 list 속도 향상하는 방법이 있을까요?
4954초보자2/8/201819909FFT Library 사용 [1]
4950ASP열공2/5/201817473asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4951ASP열공2/6/201817630    답변글 [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4952ASP열공2/7/201818027        답변글 [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4953ASP열공2/7/201817392            답변글 [답변]: [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다.
4949김성대1/31/201819001비동기 질문입니다. [3]파일 다운로드1
494880511/31/201818565C# 7.1책 보다가 질문드립니다 [1]
4947김성대1/30/201817762[삭제] 비동기 질문입니다. [2]파일 다운로드2
4946윤현수1/29/201817878비동기 TCP통신 데이터 문제 [4]파일 다운로드1
4945김성대1/26/201816219비동기 질문입니다. [1]파일 다운로드1
4944popo1/25/201815415[삭제] 스레드 안에서 Window Visibility 변경시 DialogResult 오류 질문
4943김성대1/22/201816859FromAsync 질문입니다. [1]
4942박현일1/19/201817915WPF 공부중 모르는 문법이 있어서요~^^; [2]
4941김성대1/18/201816579비동기예약어 실행오류관련입니다. [1]
4940plzh...1/10/201817429webbrowser2 를 이용한 sns 로그인 구현 관련 문의 [2]
... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...