본문 바로가기

카테고리 없음

[C#] 스레드(Thread)

반응형

스레드란 하나의 프로그램에서 독립적으로 실행되는 함수, 또는 프로세스 내에서의 실행 단위(또는 흐름의 단위)이다.

일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드라고 한다.

● 프로세스 - 메모리를 할당받아 실행되고 있는 프로그램

스레드 생성시 주의할 점 

1. 우선권(Priority) - a함수화 b함수가 실행되고 있을 때 하나의 변수에 동시에 접근한다면 원하는 결과값과 상이할 수 있다. 이 같 은 상황을 방지하기위해 우선권을 정해야한다.

2. 동기화(Synchronization) - 여러개의 함수가 한가지 자원을 공유하고 있을 때 순서를 주어 결과값의 일관성을 유지하기 위해 사용한다. ex)은행 입출금 시스템

스레드는 System.Threading 네임스페이스를 이용해 사용할 수 있다.

//스레드 생성예제
using System;
using System.Threading;
public class testThread
{
  public void Hello()
  {
    Console.WriteLine("hello");
  public static void Main()
  {
    Test t = new Test();
    ThreadStart ts = new ThreadStart(t.);
 
반응형