[c++] 프로세스와 스레드의 생성 방법
프로세스 생성
프로세스는 운영 체제에서 실행 중인 프로그램의 인스턴스입니다. 프로세스를 생성하려면 일반적으로 다음 단계를 따릅니다.
- 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()
을 사용하여 메인 스레드가 새로운 스레드의 종료를 기다리도록 합니다.
프로세스와 스레드를 생성하는 방법에 대한 개요를 살펴보았습니다. 프로세스 및 스레드 관련 더 자세한 정보는 여기에서 확인할 수 있습니다.