2016. 7. 8. 14:16

쓰레드를 처음 쓰는 분들을 위한 예제 코드 입니다.


참조만 하세요..ㅎㅎ..




using System.Threading;



//---------------------------------------------------------------------------------------



public class Worker

    {

        private volatile bool _shouldStop;



        public void DoWork()

        {

            while (!_shouldStop)

            {

                Console.WriteLine("worker thread: start..." + DateTime.Now.ToString());


                try

                {

                    if (_shouldStop == true) break;

                  

//여기에 내가 돌리고 싶은 코드를 ~~~


                    

                }

                catch (Exception ex)

                {

                    Console.WriteLine(ex.ToString());

                }


                Thread.Sleep(1000);


            }

            Console.WriteLine("worker thread: terminating gracefully.");


            _shouldStop = false;

        }




        public void RequestStop()

        {

            _shouldStop = true;

        }

    }

//---------------------------------------------------------------------------------------


 private Worker worker = new Worker();

 private Thread workerThread;



 private void button1_Click(object sender, EventArgs e)

        {

            workerThread = new Thread(worker.DoWork);

            workerThread.Start();

            Console.WriteLine("Split Thread: Starting worker thread...");

        }


        private void button2_Click(object sender, EventArgs e)

        {

            try

            {

                worker.RequestStop();

                workerThread.Join();


            }

            catch (Exception ex)

            {

                System.Console.WriteLine(ex.ToString());               

            }           

        }




'언어 > C#' 카테고리의 다른 글

C# 한글 인코딩  (0) 2017.06.18
[ini] ini파일 읽기 쓰기 기본 코드  (0) 2017.02.14
[C#] 걸린 시간 체크  (0) 2016.06.08
[C#] ListView item 삭제  (0) 2016.03.22
[C#] ListView 에 Item 추가  (0) 2016.03.22
Posted by 까망후니