[c++] 프로세스와 스레드의 생성 방법

프로세스 생성

프로세스는 운영 체제에서 실행 중인 프로그램의 인스턴스입니다. 프로세스를 생성하려면 일반적으로 다음 단계를 따릅니다.

  1. fork() 함수 호출: 유닉스 및 유닉스 계열 운영 체제에서 프로세스를 생성하기 위해 fork() 함수를 사용합니다. 이 함수는 현재 실행 중인 프로세스의 복제본을 만들어 새로운 프로세스를 생성합니다.
#include <unistd.h>

int main() {
    pid_t pid = fork();
    if (pid == 0) {
        // 이 코드는 자식 프로세스에서 실행됩니다.
    } else if (pid > 0) {
        // 이 코드는 부모 프로세스에서 실행됩니다.
    } else {
        // fork() 호출이 실패한 경우
    }
    return 0;
}

이 코드는 새로운 자식 프로세스를 만들고, 부모 프로세스와 자식 프로세스가 각자의 코드를 실행하도록 합니다.

스레드 생성

스레드는 프로세스 내에서 실행되는 경량 프로세스로, 프로세스의 자원을 공유합니다. C++에서는 스레드를 생성하기 위해 스레드 라이브러리를 사용할 수 있습니다.

#include <iostream>
#include <thread>

void threadFunction() {
    // 이 코드는 새로운 스레드에서 실행됩니다.
    std::cout << "This is a thread" << std::endl;
}

int main() {
    std::thread t(threadFunction);  // 새로운 스레드 생성
    t.join();  // 메인 스레드가 새로운 스레드의 종료를 기다림
    return 0;
}

이 코드에서 std::thread를 사용하여 threadFunction을 가진 새로운 스레드를 만들고, join()을 사용하여 메인 스레드가 새로운 스레드의 종료를 기다리도록 합니다.

프로세스와 스레드를 생성하는 방법에 대한 개요를 살펴보았습니다. 프로세스 및 스레드 관련 더 자세한 정보는 여기에서 확인할 수 있습니다.