Xiaohao는 프로그램/프로세스/스레드, 병렬/동시성에 대해 이야기합니다.

1. 프로그램, 시대와 사회의 발달과 함께 다양한 컴퓨터 언어를 배우기 시작했고 프로그래밍 없이는 할 수 없는 일이지만 우리가 알아야 할 것은 프로그램이란 무엇인가? 프로그램은 무엇을 의미합니까? 그리고 프로그램은 무엇을 합니까? 그리고 우리는 프로그램을 작성합니다. 프로그램을 작성하는 목적은 무엇입니까?

여기서 절차는 하나의 작업 단계를 완료하는 순서를 의미한다고 생각합니다. 예를 들어 (1*5+1)-2=? 이 문제의 경우 첫 번째 단계는 괄호 안의 곱셈, 그 다음 덧셈, 괄호 밖의 뺄셈을 계산하는 것입니다.이 절차 세트는 이 문제를 해결하기 위한 프로그램을 구성합니다. 그래서 컴퓨터에서 우리는 어떻게 반영됩니까? 전자계산기를 이용하여 자동으로 문제를 해결하기 위해서는 문제해결 과정을 미리 결정하고 그것을 기계의 명령이나 기계가 받아들일 수 있는 언어로 기술해야 하며, 그 기술의 결과를 "프로그램"이라고 합니다.

2. 프로세스, 프로세스란? Baidu Youyun: "프로세스(프로세스)는 특정 데이터 세트에서 실행 중인 활동에 대한 컴퓨터의 프로그램입니다. 시스템 리소스 할당 및 스케줄링의 기본 단위이며 운영 체제 구조의 기초입니다. 초기 프로세스에서- oriented computer structure design 그 중 프로세스는 프로그램의 기본 실행 실체이며, 현대 스레드 지향 설계 컴퓨터 구조에서 프로세스는 스레드의 컨테이너입니다.프로그램은 명령, 데이터 및 그 조직 형식에 대한 설명입니다. , 프로세스는 프로그램의 엔터티입니다.

여기서 프로세스는 프로그램 자체가 명령의 집합이기 때문에 정적 개념이며 메모리에서 프로그램의 실행을 설명할 수 없습니다. 휴지, 다른 실행 프로그램과의 관계를 알 수 없기 때문에 프로그램의 정적 개념은 프로그램의 동시 실행 프로세스의 특성을 충실히 반영할 수 없습니다. 프로그램의 동적인 실행 과정의 본질을 깊이 있게 설명하기 위해서는 프로그램을 구체화하기 위한 "프로세스(Process)"라는 개념을 도입할 필요가 있다. 프로세스는 프로그램의 실행 프로세스라는 좁은 의미로 이해할 수 있습니다.

3. 쓰레드, 쓰레드란? 쓰레드(영어: thread)는 운영체제에서 연산 스케줄링을 수행할 수 있는 가장 작은 단위이다. 프로세스에 포함되며 프로세스의 실제 운영 단위입니다. 스레드는 프로세스의 단일 순차적 제어 흐름을 의미하며 여러 스레드가 프로세스에서 동시에 실행될 수 있으며 각 스레드는 서로 다른 작업을 병렬로 수행합니다. 스레드는 프로세스의 단일 순차적 제어 흐름을 의미하며 여러 스레드가 프로세스에서 동시에 실행될 수 있으며 각 스레드는 서로 다른 작업을 병렬로 수행합니다.

4. 동시성 및 병렬성 병렬성: 동시에 병렬성 동시성: 두 개 이상의 프로그램이 일정 기간 내에 실행됨 예를 들어 이전에 존재하는 프로세스와 프로세스는 동시적이지만 병렬성은 존재할 수 없지만 프로세서와 장치는 채널 사이에는 병렬 처리가 존재합니다. 동시 실행은 여러 프로세스가 리소스 충돌을 일으킬 때 실행 효율성을 근본적으로 향상시키지 않는다는 점에 유의해야 합니다.

추천

출처blog.csdn.net/weixin_64625868/article/details/122819363