3. PROCESS THREAD
실행중인 프로그램 프로세스 내에서 실행되는
흐름의 단위
4. Cpu 사용율 을 극대화 및 대기시간 및 응답시간 최소화
모든 프로세스는 하나 이상의 스레드 존재
성능↑,구현 편리 , 작은투자->큰 효과
세미(Semi) 프로세스라 불리며, 주로 다수의 클라이언
트를 처리하는 서버/클라이언트 모델의 서버 프로그래밍
작업에서 주로 사용
5. SINGLE THREAD MULTI THREAD
하나의 프로세스 ex)MS DOS 다수의 프로세스 ex)window
8. .NET프레임워크 에서 System.Threading.Thread제공
Ⅰ Thread의 인스턴스를 생성한다.
Ⅱ Thread.Start() 을 호출하여 스레드 시작
Ⅲ Thread.Join() 을 호출하여 끝날때까지 대기
9. Unstarted: 객체 생성한 후 호출 전의 상태
Running : 동작중인 상태
Suspended:일시 중단 상태
WaitSleepJoin : 스레드가 블록(Block)된 상태
Aborted:스레드가 취소된 상태
Stopped:중지된 스레드의 상태
Background:백그라운드로 동작되있는 상태
10. Thread.Interrupt() : thread에 인터럽트 호출
Thread.Join() : 중지된 thread 동기화
Thread.Resume() : suspend된 thread를 다시 활성화
Thread.Start() : thread 시작
Thread.Suspend() : thread를 suspend
Thread.currentThread : 현재 실행중인 thread 객체 참조 반환
Thread.IsAlive : 특정 thread의 실행 여부
Thread.IsBackground : 백그라운드 thread 여부
Thread.Name : 특정 thread의 이름 지정 반환
Thread.ThreadState : thread 상태 반환
Thread.Priority : thread 우선순위 설정 반환
Thread.Abort() : thread 중지※warnning
Thread.GetHashCode() : thread ID 반환
11. t1 스레드가 실행되면서
t1이 완전히 정지 할때까지 대기
메인 스레드 에서 분기됩니다. Join()메소드가 반환하면 다시 하나로 합
쳐짐
12.
13. Interrupt()
Ssleep()
Interrupt()
스레드가 WaitSleepJoin 상태일떄 스레드가 Running상태일 떄
Interrupt()를 호출하면 즉시 종료 Interrupt()를 호출해 두면 “나중애”
WaitSleepJoin상태가 됬을떄 종료