차례:
정의-멀티 스레딩이란 무엇입니까?
멀티 스레딩은 프로세스 컨텍스트 내에 여러 스레드가 존재하여 독립적으로 실행되지만 프로세스 리소스를 공유 할 수있는 실행 모델 유형입니다. 스레드는 호스팅 프로세스의 주소 공간에서 우선 순위 일정, 예외 처리기, CPU 레지스터 및 스택 상태를 포함하여 실행과 관련된 정보 목록을 유지 관리합니다.
멀티 스레딩은 스레딩이라고도합니다.
Techopedia는 멀티 스레딩을 설명합니다
스레딩은 기본 실행 스레드가 사용자 입력에 응답하도록하여 단일 프로세서 시스템에서 유용 할 수 있으며 추가 작업자 스레드는 백그라운드에서 사용자 개입이 필요하지 않은 장기 실행 작업을 실행할 수 있습니다. 멀티 프로세서 시스템에서 스레딩을 수행하면 여러 프로세서에서 스레드를 실제로 동시에 실행할 수 있으므로 속도가 더 빠릅니다. 그러나 레이싱 조건, 교착 상태 등과 같은 직관적이지 않은 동작을 피하려면보다 신중한 프로그래밍이 필요합니다.
운영 체제는 다음 두 가지 방식으로 스레딩을 사용합니다.
- 컨텍스트 스위치가 운영 체제에 의해 제어되는 선제 멀티 스레딩. 컨텍스트 전환은 부적절한 시간에 수행 될 수 있으므로 우선 순위가 높은 스레드는 우선 순위가 낮은 스레드에 의해 간접적으로 선점 될 수 있습니다.
- 컨텍스트 전환이 스레드에 의해 제어되는 협업 멀티 스레딩. 스레드가 자원이 해제 될 때까지 대기하는 경우 교착 상태와 같은 문제점이 발생할 수 있습니다.
32 비트 및 64 비트 버전의 Windows는 선점 형 멀티 스레딩을 사용하여 사용 가능한 프로세서 시간을 공유하여 모든 스레드가 동일한 시간 조각을 얻고 큐 기반 모드로 서비스되도록합니다. 스레드 전환 중에 선점 된 스레드의 컨텍스트가 큐의 다음 스레드에 저장되고 다시로드됩니다. 시간 조각이 너무 짧아 실행중인 스레드가 병렬로 실행되는 것처럼 보입니다.
이 정의는 컴퓨터 아키텍처와 관련하여 작성되었습니다.