- Context Switching
Process끼리 또는 Thread끼리의 작업 전환을 위한 정보를 저장하고 읽어 오는 과정이다.
작업 전환을 할 때에는 현재 진행중인 작업의 상태(다음에 실행해야할 위치=Program Counter)등을 저장해야 한다.
- Single Thread vs Multi Thread
File I/O와 같은 작업이 필요하다면 Multi Thread가 더 효율적이다. 왜냐하면 I/O가 끝나기까지 아무 일도 할 수 없기 때문이다.
하지만, CPU만 사용하는 작업의 경우 Single Thread가 더 효율적이다. 왜냐하면 Context Switching가 없기 때문이다.
- Multi Process vs Multi Thread
다수의 Process나 Thread 모두 Context Swtching이 발생한다.
하지만, Multi Process의 Context Swtching에 대한 비용이 더 크므로, Multi Thread가 더 효율적이다.
Process끼리 또는 Thread끼리의 작업 전환을 위한 정보를 저장하고 읽어 오는 과정이다.
작업 전환을 할 때에는 현재 진행중인 작업의 상태(다음에 실행해야할 위치=Program Counter)등을 저장해야 한다.
- Single Thread vs Multi Thread
File I/O와 같은 작업이 필요하다면 Multi Thread가 더 효율적이다. 왜냐하면 I/O가 끝나기까지 아무 일도 할 수 없기 때문이다.
하지만, CPU만 사용하는 작업의 경우 Single Thread가 더 효율적이다. 왜냐하면 Context Switching가 없기 때문이다.
- Multi Process vs Multi Thread
다수의 Process나 Thread 모두 Context Swtching이 발생한다.
하지만, Multi Process의 Context Swtching에 대한 비용이 더 크므로, Multi Thread가 더 효율적이다.
'네트워크 프로그래밍 > Thread' 카테고리의 다른 글
[박혜웅] Java Stack Trace (0) | 2011.12.02 |
---|---|
[박혜웅] Java Default Threads in Java VisualVM (0) | 2011.11.30 |
[박혜웅] Java Thread States (0) | 2011.11.10 |