본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

WPF & C# - 멀티쓰레딩 ( 멀티쓰레드 / MultiThread / Threading )

728x90
반응형
 WPF & C# - 멀티쓰레딩 ( 멀티쓰레드 / MultiThread / Threading / 스레드  )

MultiThreading.zip
0.04MB
MultiThreading.exe
0.01MB

private void btn_Click(object sender, RoutedEventArgs e)
{
    lbl.Content = "";
    Thread thread1 = new Thread(new ThreadStart(Thread1));
    Thread thread2 = new Thread(new ThreadStart(Thread2));
    thread1.Start();
    thread2.Start();
}

void Thread1()
{
    for (int i = 0; i < 10; i++)
    {
        Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate
        {
            lbl.Content += ("Thread 1 " + "\n");
        }));
        Thread.Sleep(1000);
    }
}

void Thread2()
{
    for (int i = 0; i < 10; i++)
    {
        Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate
        {
            lbl.Content += ("Thread 2 " + "\n");
        }));
        Thread.Sleep(2000);
    }
}

 

* 메인스레드가 종료되어도 각각의 쓰레드가 종료되어야 앱이 완전히 종료 된다.

그렇지 않으면 메인스레드 종료여부를 체크해서 같이 종료 시켜야 할 듯 하다.

728x90
반응형