WPF Q&A

책보고 처음 쓰레드 ( Thread ) 따라했는데, 값이 책과 다릅니다. insurang 평점: 없음 조회: 231

( 결과값이 다를때만 모아서 1초씩 돌렸습니다. )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void DoSomething()
{
    for (int i = 0; i < 5; i++)
    {
        msg += "DoSomething : " + i.ToString() + "\n";
        Thread.Sleep(10);
    }
}
 
string msg;
private void btn_Click(object sender, RoutedEventArgs e)
{
    Thread t1 = new Thread(new ThreadStart(DoSomething));
    msg = "Start thread..." + "\n";
    t1.Start();
 
    for (int i = 0; i < 5; i++)
    {
        msg += "Main : " + i.ToString() + "\n";
        Thread.Sleep(10);
    }
 
    msg += "Waitng until thread stops..." + "\n";
    t1.Join();
 
    msg += "Finished";
 
    lbl.Content = msg;
}
cs


    

참고로 책에서는 콘솔프로그래밍이고, 저는 WFPAPP (Window) 으로 했습니다.

[ 질문 1 ]

책에서는 2번처럼 나오는데

저는 매번 할때마다 다르게 나오네요.

심지어 3번, 5번 처럼 카운터가 빠지는 경우도 있습니다.

개념을 잘 모르지만, 쓰레드 처리 속도가 다른 것 하나는 이해하겠습니다.

그러나 카운터가 빠지는 경우는 왜그런건가요?


[ 질문 2 ]

DoSometion() 에 lbl.com 을 넣으니 아래처럼 에러가 납니다.

쓰레드에서는 컨트롤 사용을 못하는 건가요?


태그 : 쓰레드 Thread
작성자 정보
insurang
Level 16
 [EXP.57/70]

메일:  비공개
글등록 +12 192 덧글등록 +3 87
자기소개
^^
글 공유하기 |
  tweet facebook
2018-08-24 오전 10:50:52
나도한마디
사용자
롬메달            [2018-08-24]
Level 51
 [EXP.162/250]
죄송한 말씀을 드리면 아직 쓰레드할때가 아니신거 같은데요
아니면 쓰레드의 개념을 다시 보셔야 할것 같습니다.

1. 두썸딩에서 msg로 출력하는데 그 msg는 btn_click에서 sleep(10)이 지나고 출력하죠? 그래서 타이밍이 안맞으면 넘어가겠죠

2. lbl.com....이 .com은 아니지만..
어쨋든 lbl이라는 컨트롤이 하나 가 있는데 저와 insurang님이 동시에 그 컨트롤을 사용하려고 하면 어떻게 될까요?

쓰레드에 대한 기본 개념을 좀더 이해하시고 코드를 작성해보시고,
처음에는 ui환경인 윈폼이나 wpf가 아니라 그냥 console에서 text 출력으로 작성하면서 확인해보세요
사용자
insurang            [2018-08-24]
Level 16
 [EXP.57/70]
네 감사합니다.^^
책에 쓰레드 관련부분으로 첨나오는 부분입니다.
첨이라 아직 헤롱헤롱합니다. ㅠㅠ
말씀하신부분 이해됐습니다.
감사합니다.
글리스트
Rectangle에 Fill 된 색 값을 알아 내는 방법은 없나요??[1]+1  존오비미켈
Grid 에 Border 를 이용해 표를 만들었는데 세로줄이 상황에 따라 어긋나는 현상.[2]+2  비가와요
WPF 코드바인딩 관련 질문 하나 드립니다. (내용이 안보여 재업로드)[1]+2  죵김
WPF 코드바인딩 관련 질문 하나 드립니다.  죵김
DataGrid 관련 BorderBrush 질문이있습니다.[1]  독고다이
다른컴퓨터에서 제 로컬 서버 연결하는 방법[1]+1  WPFWTF
버튼 이미지 및 MouseOver 관련 문의[3]+1  WPFWTF
WebBrowser Navigate에 관한 질문입니다.[1]+1  nalai
TextBox 박스가 여러개있을때[3]  엿장수
List<string> 을 확장정렬하려면 어떻게 해야 하나요?[3]+5  insurang
 ★현재글->   책보고 처음 쓰레드 ( Thread ) 따라했는데, 값이 책과 다릅니다.[1]+1  insurang
스크린페인팅 프로그램을 만들고싶은데[1]+1  엿장수
파일다이얼로그 띄울때[1]+1  엿장수
smtp 메일서버 daum.net 보내 지나요?[1]+1  insurang
Listview에서 출력된 column 값 질문[2]+2  Sad7Dayz
blue 효과 적용 방법 문의 드립니다.[1]  hoon
Enum 을 Xaml 에서 사용하는 방법 궁금합니다.[3]  비가와요
버튼 사이즈를 NaN 으로 나오게 하는 방법 알려주세요.[1]  insurang
Blend 에 있는 컨트롤 VS로 가져올 수 있나요?[1]+1  insurang
메인창에서 자식창띄우고 자식창에서 OpenFileDialog 띄우는방법.[2]  왕초보자
timer UI문제[1]+1  왕초보자