Microsoft MVP성태의 닷넷 이야기
글쓴 사람
Question
홈페이지
첨부 파일
 
이래저래 시도해봐도 도저히 모르겠어서 질문드립니다..

제가 원하는 것은 어떤 무거운 작업을 행했을 때 일시적으로 "응답 없음" 으로 뜨면서 프로그램이 멈추게 되는데 이 때에도 "응답 없음" 과 상관없이 자기 할 일 계속 하는 타이머를 생성하고 싶습니다. Threading.Timer 도 결국은 같이 멈춰버리더라구요. (Invoke 를 쓰든 안쓰든 같습니다.)
정확한 설명을 위해 예시를 하나 들겠습니다.
예를 들면 사용자가 그래프에 대량으로 값을 불러오는 작업을 시도했을 때 프로그램이 일시적으로 멈출 텐데 이 상황에도 통신은 여전히 죽지 않고 돌아가면서 서로 데이터를 주고 받고, DB 에 값을 저장하도록 하고 싶습니다.
간단하게 Label 에 타이머를 적용해서 프로그램이 "응답 없음" 이여도 꿋꿋이 타이머가 작동하는 방법이라도 알려주시면 감사하겠습니다 ^^






[최초 등록일: ]
[최종 수정일: 9/28/2017 ]


비밀번호

댓글 쓴 사람
 



2017-09-28 05시21분
응답 없음에서 Invoke를 안 쓰는데도 Threading.Timer가 같이 멈춘다는 것은 이해할 수 없는 현상이군요. 혹시 재현 코드를 올려주시겠어요?
정성태
2017-09-29 06시53분
[Question] 무거운 작업을 진행하는 부분은 상용 차트 라이브러리로 진행한지라 코드를 올려도 적용하기 힘드실 것 같아서 적용했던 타이머 부분만 올려드립니다.

private void Form1_Load(object sender, EventArgs e)
        {
            System.Threading.Timer tt = new System.Threading.Timer(CallBack);
            tt.Change(0, 100);
        }

        private void CallBack(object sender)
        {
            toolStripLabel3.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss:fff");
        }

또한 혹시나 해서 적어놓습니다만.. 무거운 작업 진행중 화면상에 타이머가 돌아가지 않아 죽어버린 것 같은 느낌을 주는 현상이 문제이고 무거운 작업이 끝나면 타이머가 몇 초 정도 지난 상태로 다시 시작합니다.
(저도 쓰레딩 타이머는 CPU 내에서 독자적으로 돌아가는 것으로 알고 있어서 혹시나 했는데 타이머가 돌긴 하나봅니다.)
"결론"은 독자적으로 돌고 있으나 화면상에 반영하지 않는 타이머를 실시간으로 반영하게끔 하고 싶습니다.
[손님]
2017-09-29 07시24분
CallBack내에서 toolStripLabel3.Text는 이미 해당 UI 요소를 접근하고 있기 때문에 내부적으로는 Invoke가 불립니다. 따라서 그 코드 때문에 블록이 되는 것입니다.

(그리고, 조각 코드말고 재현 가능한 최소한의 예제 프로젝트를 올려주시면 답변하시는 분들이 많은 도움을 받을 수 있습니다. 또한, 그런 재현 코드를 만드는 동안 문제가 무엇인지 알 수 있기도 합니다.)
정성태

... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
4766김신철9/29/20165738Visual Studio 2015에서 .net 3.5로 c# 6.0 사용시 문제점에 대해서 궁금합니다. [1]
4765spowner9/23/20164976참조를 통해 속성의 값을 변경하고 싶을 때 우아한 코딩 방법이 있을까요? [2]
4764지현명9/22/20166005Visual Studio 2008 c#에서 추가된 솔류션의 디버깅이 안걸립니다. [2]파일 다운로드1
4763송기태9/20/20165450안녕하세요! 질문이 있어 문의드립니다! [1]파일 다운로드1
4762김신철9/20/20166228Visual Studio 2015 마이그레이션 후 빌드 및 에러 문제.. 도와주세요~ [2]
4761JH9/19/20166176WPF로 Viewbox 사용 시 폰트 크기 일정화 여부 [1]
4760초보9/18/20165932유닉스서버(HP)에서 C# 서버 프로그램 실행 가능 한지요? [1]
4759dev009/16/20164813Queue out of memory [3]
4758임기성9/12/20165726MS오피스 워드 64비트에서 32비트 COM개체 사용방법 문의 [2]
4757조영준9/7/20165198DLL 후킹과 관련해서 질문이 있습니다. [2]
4756Kim Jinsu9/6/20166393drag&drop 관련해서 문의 드립니다. [6]
4755stella9/5/20165495안녕하세요! 윈도우 창에 관련되서 질문입니다.! [3]
4754초보개발자8/25/20164776UWP 의 적용 범위에 대해서 어떻게 생각하십니까? [1]
4753조호찬8/23/20166550sybase 의 한글 가져오기 문의 [7]
4752타미플루8/19/20165252IIS 로그에서 time-taken이 0이 나올수 있나요? [4]
4751김민석8/16/20165363가변크기의 구조체를 SendMessage로 타 프로세스에 전송하는 방법이 있을까요? [1]
4750강준8/13/20165824ElementHost Memory Leak 현상 (아래내용과 동일 첨부 추가^^) [5]파일 다운로드1
4749강준8/11/20165596ElementHost Memory Leak 현상 [6]
4748Beren Ko8/3/20164807그냥 생각이 들어서 여기 글 써봅니다. [1]
4746힘찬도약8/2/20165420[asp.net] local에서 cookies값이 읽혀지지 않는 경우 [1]
4747힘찬도약8/3/20165288    답변글 [예제 첨부]: [asp.net] local에서 cookies값이 읽혀지지 않는 경우 [3]파일 다운로드1
4745힘찬도약7/27/20165913.NET 자식창 데이터를 부모창에 전달시 오류 질문드립니다. [4]파일 다운로드1
4744변찬연7/27/20166021안녕하세요 그 edge를 이용하는 데 조금 불편함이 있어서 문의드립니다 [1]
4743딸랑구아빠7/26/20165166IE 사용 시 인증 정보 계속 보내기? [1]
4741차가워7/20/20165669UWP 에서 COM 참조 불가능한가요? [6]
4740lunacy807/19/20166114clickonce manifest 파일 질문 [1]
... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...