반응형
스레드는 무엇일까요?
스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다.
(_ 위키피디아 발췌)
C# 및 프로그래밍 입장에서 보면 어떤 프로그램에서 실행되는 함수를 말한다고 할수 있습니다.
또한 멀티스레드는 한프로그램에서 두개 이상의 함수가 동시에 불리는것(실행)되는것 이라고 할수 있습니다.
*스레드 생성했을 때 주의 할 점
1. Priority
2. Synchronization
입니다.
쉽게 말해 1.priority 우선권 입니다.
예를 들어
A() 함수와 B()라는 함수가 실행되고 있을 때 변수 i 를 동시에 접근한다고 생각해 봅시다
만약 두개가 동시에 접근을 하면 나중에 프로그래머가 원하는값이 안나올수도 있습니다. 그렇기 떄문에 Priority 즉 두개의 함수 중 어떤 함수가 먼저 우선 변수 i 에 접근을 할수 있게 할것인지 정해줘야 합니다.
2.Synchronization동기화 입니다.
A()함수와 B()함수가 변수 i 에 접근을 하여 값을 계산 하는데 서로 값이 같지 않다면 나중에 문제가 생길것입니다. 이것을 막기위해 즉 똑같이 하기위해 동기화 라는게 필요 합니다.
'IT > C#, NHibernate' 카테고리의 다른 글
C# _ 멀티스레드,ManualResetEvent,동기화 를 시켜보자 (2) | 2010.09.23 |
---|---|
C# _ 멀티스레드 생성법 과 스레드 시작메소드 [start()] (0) | 2010.09.18 |
C# _ List<T> = new List<T> (0) | 2010.09.07 |
C#_ ArrayList _ 모든데이터 출력하기(IEnumerator)[ MoveNext() ] (0) | 2010.09.05 |
C#_ ArrayList 클래스[Insert()] (0) | 2010.09.05 |