멀티태스킹Multitasking

멀티태스킹 운영 체제는 사용 가능한 프로세서 시간을이를 필요로 하는 프로세스나 스레드 간에 나눕니다.A multitasking operating system divides the available processor time among the processes or threads that need it. 시스템은 선점형 멀티태스킹을 위해 설계 되었습니다. 실행 하는 각 스레드에 프로세서 시간 조각을 할당 합니다.The system is designed for preemptive multitasking; it allocates a processor time slice to each thread it executes. 현재 실행 중인 스레드는 시간 조각이 경과할 때 일시 중단 되어 다른 스레드를 실행할 수 있습니다.The currently executing thread is suspended when its time slice elapses, allowing another thread to run. 시스템이 한 스레드에서 다른 스레드로 전환 되 면 선점 된 스레드의 컨텍스트를 저장 하 고 큐에 있는 다음 스레드의 저장 된 컨텍스트를 복원 합니다.When the system switches from one thread to another, it saves the context of the preempted thread and restores the saved context of the next thread in the queue.

시간 조각 길이는 운영 체제와 프로세서에 따라 다릅니다.The length of the time slice depends on the operating system and the processor. 각 시간 조각이 작으므로 (약 20 밀리초) 여러 스레드가 동시에 실행 되는 것 처럼 보입니다.Because each time slice is small (approximately 20 milliseconds), multiple threads appear to be executing at the same time. 이 경우는 실제로 실행 가능 스레드가 사용 가능한 프로세서 간에 분산되는 멀티 프로세서 시스템에서 나타납니다.This is actually the case on multiprocessor systems, where the executable threads are distributed among the available processors. 그러나 스레드가 너무 많은 경우 시스템 성능이 저하 될 수 있으므로 응용 프로그램에서 여러 스레드를 사용할 때는 주의 해야 합니다.However, you must use caution when using multiple threads in an application, because system performance can decrease if there are too many threads.

자세한 내용은 다음 항목을 참조하세요.For more information, see the following topics: