2017년 11월 22일 수요일

C# 초 간단 쓰레드(Thread) 예제





"Start Thread" 버튼 클릭시 0.5초 간격으로 1부터 순차적으로 숫자를 출력하고 "Stop Thread" 버튼 클릭시 쓰레드를 종료하는 초 간단 C#용 Thread 예제 코드이다.
화면 구성은 다음과 같다.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ExSerialRead
{
    public partial class Form1 : Form
    {
        private int cnt = 0;
        private Thread rTh;

        public Form1()
        {
            InitializeComponent();
        }

        private void btnStartThread_Click(object sender, EventArgs e)
        {
            //Thread 객체 생성. 생성시 이 Thread가 실행할 메소드를 지정해 준다. 
            //여기서는 Count라는 메소드를 rTh라는 쓰레드가 실행하게 될 것이다.
            rTh = new Thread(Count);
            rTh.Start();
        }

        // Thread로 수행할 작업
        private void Count()
        {
            while(true)
            {
                ++cnt;
                Thread.Sleep(500);
                //Console.WriteLine("crr cnt : " + cnt); 
                Console.WriteLine("crr cnt is {0} ", cnt); 

                if (cnt > 200)
                {
                    rTh.Abort(); //쓰레드 강제 종료

                    Console.WriteLine("Thread 종료. cnt : " + cnt);
                    break;
                }
            }
        }

        private void btnStopThread_Click(object sender, EventArgs e)
        {
            rTh.Abort(); //쓰레드 강제 종료
            Console.WriteLine("Thread 종료~");
        }
    }
}



댓글 없음:

댓글 쓰기