Code/C#

Thread 에서 locker의 사용

Hide Code 2007. 12. 9. 08:16
thread의 실행을 컨트롤하기 위해서 locker를 사용할 수 있다.

locker는 오로지 lock을 하는 용도로만 쓰인다.

아래 예제를 살펴보자.


using System;
using System.Threading;

namespace ThreadTest
{
   class Program
   {
       static object locker = new object();

       static void Main(string[] args)
       {
           new Thread(Go).Start();

           lock (locker)
           {
               for (int i = 0; i < 500; i++)
               {
                   Console.Write(".");
               }
           }
       }

       static void Go()
       {
           lock (locker)
           {
               for (int i = 0; i < 500; i++)
               {
                   Console.Write("X");
               }
           }
       }
   }
}


위의 예제에서 locker는 lock 이외이 목적으로는 사용되지 않았다.

실행 결과 화면은 아래와 같다.