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 이외이 목적으로는 사용되지 않았다.
실행 결과 화면은 아래와 같다.
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 이외이 목적으로는 사용되지 않았다.
실행 결과 화면은 아래와 같다.