>일반적인 문제 >프로그램이 실행될 때 명령 흐름의 가장 작은 단위는 무엇입니까?

프로그램이 실행될 때 명령 흐름의 가장 작은 단위는 무엇입니까?

青灯夜游
青灯夜游원래의
2022-08-23 14:16:408886검색

"스레드"는 프로그램이 실행될 때 명령 흐름의 가장 작은 단위입니다. 프로세스는 특정 독립적인 기능을 가진 프로그램을 말하며, 스레드는 프로세스의 일부로 명령 흐름의 실행 상태를 설명합니다. 스레드는 프로세스에서 명령 실행 흐름의 가장 작은 단위이며 기본 단위입니다. CPU 스케줄링의 스레드는 작업(프로그램 세그먼트)의 실행 프로세스입니다. 스레드는 메모리 공간을 차지하지 않으며 프로세스의 메모리 공간에 포함됩니다. 동일한 프로세스 내에서 여러 스레드가 프로세스의 리소스를 공유합니다. 프로세스에는 하나 이상의 스레드가 있습니다.

프로그램이 실행될 때 명령 흐름의 가장 작은 단위는 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

"스레드"는 프로그램이 실행될 때 명령 흐름의 가장 작은 단위입니다.

프로세스는 데이터 수집에 대한 특정 독립적인 기능을 갖춘 프로그램의 동적 실행 프로세스를 의미합니다. 스레드는 프로세스의 일부이며 명령 흐름의 실행 상태를 설명합니다. 프로세스 내 명령 실행 흐름의 최소 단위이자 CPU 스케줄링의 기본 단위이다.

Thread: 운영 체제에서 예약하는 가장 작은 단위인 경량 프로세스입니다. 스레드는 작업(프로그램 세그먼트)의 실행 프로세스입니다. 스레드는 메모리 공간을 차지하지 않고 프로세스의 메모리 공간에 포함됩니다. 동일한 프로세스 내에서 여러 스레드가 프로세스의 리소스를 공유합니다. 프로세스에는 하나 이상의 스레드가 있습니다.

상태

운영 체제가 스레드를 생성할 때 스레드는 생성 상태에 있습니다. CPU가 스레드를 예약할 때 스레드는 실행 중인 상태입니다. 물론 일부 스레드는 여전히 준비 상태에 있으며, 디스크나 네트워크 등의 IO 수행 시에는 운영체제가 해당 스레드를 소멸시키면 해당 스레드는 종료된 상태가 됩니다. . 또한 스레드에는 정적 준비 상태와 정적 차단 상태가 있다는 것은 운영 체제가 스레드 상태를 관찰하고 분석하기 위해 스레드를 일시 중지한다는 의미입니다.

프로그램이 실행될 때 명령 흐름의 가장 작은 단위는 무엇입니까?

Features

멀티 스레드 OS에서는 일반적으로 여러 스레드가 프로세스에 포함됩니다. 각 스레드는 CPU를 활용하는 기본 단위이며 오버헤드가 가장 적은 개체입니다. 스레드에는 다음과 같은 속성이 있습니다.

1), 경량 엔터티

스레드의 엔터티는 기본적으로 시스템 리소스를 소유하지 않으며, 독립적인 운영을 보장할 수 있는 몇 가지 필수 리소스만 가지고 있습니다.

스레드 엔터티에는 프로그램, 데이터 및 TCB가 포함됩니다. 스레드는 동적 개념이며 스레드 제어 블록(TCB)에 의해 동적 특성이 설명됩니다.

2) 독립적인 스케줄링 및 파견의 기본 단위입니다.

멀티 스레드 OS에서 스레드는 독립적으로 실행될 수 있는 기본 단위이므로 독립적인 스케줄링 및 발송의 기본 단위이기도 합니다. 스레드는 매우 "가벼우므로" 스레드 전환이 매우 빠르고 동일한 프로세스에서 오버헤드가 거의 없습니다.

3) 동시에 실행될 수 있습니다.

프로세스의 여러 스레드를 동시에 실행할 수 있으며 프로세스의 모든 스레드도 동시에 실행할 수 있습니다. 마찬가지로 다른 프로세스의 스레드도 동시에 실행하여 프로세서와 주변 장치의 작동 기능을 최대한 활용할 수 있습니다. 병렬로.

4) 프로세스 리소스를 공유합니다.

동일한 프로세스의 각 스레드는 프로세스가 소유한 리소스를 공유할 수 있습니다. 이는 모든 스레드가 동일한 주소 공간(프로세스의 주소 공간)을 가지며 이는 스레드가 주소 공간에 액세스할 수 있음을 의미합니다. 프로세스의 모든 가상 주소 외에도 프로세스가 소유한 열린 파일, 타이머, 세마포어 메커니즘 등에 액세스할 수도 있습니다. 동일한 프로세스의 스레드는 메모리와 파일을 공유하므로 스레드는 커널을 호출하지 않고도 서로 통신합니다.

더 많은 관련 지식은 FAQ 칼럼을 방문해주세요!

위 내용은 프로그램이 실행될 때 명령 흐름의 가장 작은 단위는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.