자바 - 컨텍스트 스위칭
·
CS
멀티태스킹은 반드시 효율적인 것이 아니다.  사람과 컴퓨터라고 해서 크게 다른 것이 아니다. 결국 A, B 두 작업이 있다고 했을 때사람이든, 컴퓨터든 컨텍스트 스위칭이 필요하다. 즉, 현재 작업하는 문맥을 의미하고 그 문맥이 변하는 것을 얘기한다. 이 과정에서 컴퓨터같은 경우에도 어딘가에 저장해두었다가 다시 불러오는 그러한 작업들이 필요하며 약간의 비용이 발생한다. 하지만, 사람의 경우 컨텍스트 스위칭 비용이 매우 크기때문에 그 전환을 줄이는 것이 중요하다. CPU 코어와 스레드의 수는 어떻게 하는게 좋을까?1. 코어 > 스레드 : CPU 를 100% 쓰지는 못하겠지만, 컨텍스트 스위칭이 줄어든다.2. 코어 3. 코어 == 스레드 + 1 : 적절하다. 추가적으로 고려해야 할 점 : 작업 종류1. CPU..
자바 - 스레드와 스케줄링
·
CS
정리1. 실제 CPU 에 의해 실행되는 단위는 스레드이다.2. 여러 프로그램이 존재하는 경우, 이러한 스레드들이 스케줄링 큐에 모여 있다가 CPU 코어에 할당되어 일을 처리한다.3. 스케줄링 큐에서 스케줄링에 사용되는 알고리즘은 여러가지가 있다. (이 부분에 대해서는 다음에 깊게 다뤄보자)4. 개발자는 스레드를 등록 시, 우선순위에 대한 설정 등이 가능하다. (이 부분도 다음에 다뤄보자)
0woodev
'스케줄링' 태그의 글 목록