본문 바로가기

멀티스레드

C# _ 멀티스레드,ManualResetEvent,동기화 를 시켜보자 멀티 스레드에서 가장 중요한 동기화 시키는 법에 대해 알아보겠습니다. 그중 MunualResetEvent 클래스를 사용해서 하는법을 알아보겠습니다. ManualResetEvent는 서로 Signal(신호)를 통해 스레드를 작동시키는 것입니다. 그럼 필수적으로 필요한 매소드에 대해 알아보겠습니다. ManualResetEvent의 Set() = 계속 진행되도록 신호를 받는것 ManualResetEvent의 Reset() = 스레드가 차단되어 이벤트 신호가 더이상없음을 설정하는 ManualResetEvent의 WaitOne() = 신호의 상태를 확인합니다. 즉 Set()으로 되어있으면 true Reset()으로 되어있으면 false 반환합니다. 이라고 생각하시면 됩니다. 소스를 보면서 설명해 보겠습니다.기본 .. 더보기
C# _ 멀티스레드 생성법 과 스레드 시작메소드 [start()] C# 멀티스레드 생성법에 대해서 공부를 해보겠습니다. 가장먼저 using System.Threading; 을 추가를해줘야 합니다. 그래야 스레드를 쓸 수 있습니다. /**** MyThread_1 과 MyThread_2 는 제가 만듣 객체 입니다. 스래드 생성법 입니다. MyThread_1 mth1 = new MyThread_1(); Thread ts1 = new ThreadStart(mth1.limit_count); Thread th1 = new Thread(ts1); 여기서 중요한 것은 스레드를 적용할 함수가 반환형 :: void 파라미터가 없어야 합니다. 즉 밑에 그림 에 보면 함수가 public void limit_count() 으로 나와있습니다. (이 내용이 책에 없어서 많이 힘들었네요 따로 만드.. 더보기
C# _ 스레드(쓰레드,Thread) _1 스레드란? 스레드는 무엇일까요? 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. (_ 위키피디아 발췌) C# 및 프로그래밍 입장에서 보면 어떤 프로그램에서 실행되는 함수를 말한다고 할수 있습니다. 또한 멀티스레드는 한프로그램에서 두개 이상의 함수가 동시에 불리는것(실행)되는것 이라고 할수 있습니다. *스레드 생성했을 때 주의 할 점 1. Priority 2. Synchronization 입니다. 쉽게 말해 1.priority 우선권 입니다. 예를 들어 A() 함수와 B()라는 .. 더보기

반응형