반응형
# Mutex
"상호배제"를 나타내는 용어로서, 한 번에 한 스레드만이 특정 자원에 접근할 수 있도록 하는 동기화 메커니즘입니다. 즉, 여러 스레드가 공유 자원에 안전하게 접근할 수 있도록 하는 역할을 합니다.
using System;
using System.Threading;
class Program
{
static Mutex mutex = new Mutex(); // Mutex 선언
static void Main()
{
for (int i = 0; i < 5; i++)
{
Thread t = new Thread(DoWork);
t.Start();
}
Console.ReadLine();
}
static void DoWork()
{
mutex.WaitOne(); // Mutex 획득
// Critical Section (임계 영역): 여러 스레드가 동시에 접근할 수 없는 부분
Console.WriteLine($"Thread {Thread.CurrentThread.ManagedThreadId} is in the critical section.");
mutex.ReleaseMutex(); // Mutex 반환
}
}
# base 키워드
파생 클래스에서 기본 클래스의 멤버에 접근할 때 사용됩니다. 파생 클래스에서 기본 클래스의 생성자를 호출하거나, 기본 클래스의 메서드를 호출하는 데 사용됩니다.
class Animal
{
public void Eat()
{
Console.WriteLine("Animal is eating.");
}
}
class Dog : Animal
{
public void Bark()
{
Console.WriteLine("Dog is barking.");
}
public void AnimalEat()
{
base.Eat(); // 기본 클래스의 Eat 메서드 호출
}
}
class Program
{
static void Main()
{
Dog myDog = new Dog();
myDog.Bark(); // Dog 클래스의 메서드 호출
myDog.AnimalEat(); // 기본 클래스의 메서드 호출
}
}
https://www.csharpstudy.com/Threads/mutex.aspx
https://slaner.tistory.com/124
728x90
'Programming > C# - Window' 카테고리의 다른 글
C#/ 윈도우 서비스 프로그램 (0) | 2023.11.16 |
---|---|
C#/ 전처리기 # (0) | 2023.11.14 |
C#/ Can 통신과 Lin 통신에 관해 (0) | 2023.11.03 |
C#/ DLL 파일 관련 (0) | 2023.11.03 |
C#/ '@' 기호 사용 (1) | 2023.10.18 |