본문 바로가기

우선순위

쓰레드(Thread)의 생성과 소멸 쓰레드 생성 : HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // 보안속성(TRUE : 상속, NULL : 상속제외) SIZE_T dwStackSize, // 쓰레드의 스택 크기 LPTHREAD_START_ROUTINE lpStartAddress, // 쓰레드로 동작하기 위한 함수(쓰레드 main) // 리턴타입 DWORD, 매개변수 타입 LPVOID(void*) LPVOID lpParameter, // 쓰레드 함수에 전달할 인자 지정 DWORD dwCreationFlags, // 쓰레드 생성 및 실행을 조절 LPDWORD lpThreadId // 쓰레드 ID를 전달받기 위한 변수의 주소값 ); 쓰레드 소멸 : 1. return(일반적,.. 더보기
스케줄링 알고리즘과 우선순위 우선순위(Priority) 스케줄링(Scheduling) 알고리즘 : 각각의 프로세스마다 우선순위를 부여해서 우선순위가 높은 프로세스를 먼저 실행한다. 우선순위가 다른 두 프로세스를 동시 실행할 때, 우선순위가 높은 프로세스가 작업을 마치지 않는다면(블로킹 상태가 되거나 I/O 작업을 하지 않는다면) 우선순위가 낮은 프로세스는 절대로 실행되지 않는다. (기아 상태 : Starvation) 라운드 로빈(Round-Robin) 스케줄링 알고리즘 : 우선순위가 동일한 프로세스들의 형평성 유지를 위해 정해진 시간 간격(타임 슬라이스(Time Slice), 퀀텀(Quantum))만큼만 실행하고 CPU 할당을 넘긴다. 타임 슬라이스 ↑ -> 반응속도 ↓ 타임 슬라이스 ↓ -> 성능 ↓ (잦은 컨텍스트 스위칭 발생으.. 더보기