그래서 특정 작업을 여러 번 할 프로그램을 만들고 있습니다. 한 번 쓰레드를 사용하여 프로그램을 작성했지만 이제 fork()를 사용하여 프로세스를 수행해야합니다.정확한 숫자의 자식을 fork()하는 방법
스레드를 사용하면 스레드 수를 지정하고 함수를 실행 (공유 메모리의 변수 변경) 한 다음 최종적으로 공유 메모리의 최종 값을 사용하는 스레드를 실행하게하면됩니다.
그러나 지금도 같은 일을하고 싶지만 포크 (fork)를 호출 할 때마다 그것을하는 법을 본질적으로 배가시킵니다. 따라서 for 루프에서 fork()를 호출하면 각 부모 및 자식 프로세스는 자체적으로 fork()를 호출하는 루프를 통과하게됩니다.
그럼 내 질문에 : 포크를 사용하여 정확한 수의 자식 프로세스를 만들 수 있습니까? (예를 들어 5 명의 자식이 필요합니다), 부모 프로세스는이 5가 실행되기 전에 실행이 완료 될 때까지 기다려야합니까?
도움 주셔서 감사합니다.
각 어린이는 자녀임을 알고 있습니다. 자녀가해야 할 일 (학교에 가야합니까?)만을 수행하고 부모 프로세스가 실행중인 곳 (직장에서)을 계속하지 않고 종료하는지 확인하십시오. niculare 또는 Quentin의 답과 마찬가지입니다. –