プロセス作成のC ++並列プログラミング

 

1.プロセスの作成

コードの最初に:

1つ   の#include " のiostream "                                                                                                                                         
2   の#include <unistd.h>
 3。    INT メイン()
 4。    { 
 5。        使用した 名前空間STD;
 6         pid_t PID;
 7        COUT << " !親が持っている持っている" << ENDL;
 8             PID =フォーク(); // フォークが起こったこと端にあるとき?
9を        IF(PID == - 1// エラー作成
10         {
 11             にperror(" フォークエラー" );
 12              _exit(1 )。
13         }
 14         、他の 場合(のpid == 0// 子进程
15         {
 16が 
17             coutの<< " 私は子供だ、PID = " << GETPID()<< " 私の親は、次のとおりです。" <<)(<< getppid endl;
18         }
 19         // 父进程
20         {
 21            // 睡眠(1)。
22             裁判所未満<< " 私は親だ、PID = " << GETPID()<<私の親は次のとおりです。" << getppid()<< てendl;
 23         }
 24         coutの<< " 両方持っています! << ENDL;
 25         リターン 0 ;
 26     }

結果:

 

 

 手順と結果分析:

 

 

 

2.複数のサブプロセスを作成します。

1つ   の#include " のiostream "                                                                                                                                         
2   の#include <unistd.h>
 3。    INT メイン()
 4。    { 
 5。        使用した 名前空間STD;
 6         pid_t PID;
 7        COUT << " 親が持っている!" << ENDLと、
 図8        のためにINT I = 0 ;私は< 5 Iは++; 9        {
 10              ; PID =フォーク()// ときに何が起こったかの端にフォーク?
11。             IF(PIDの== 0 されている12             {
 13は                // : ""; << GETPID()<< ENDL Iが<< << + 1 COUT << "の子ID" 
14                   BREAK ; // これは非常に重要である、なぜ考慮
15              }
 16        }
 17           
18は        IF - (PID == 1// 作成したエラー
。19         {
 20である             (perrorは" フォークエラー" ;)
 21は               _exit(1 ;)
 22である        }
 23が         IF(PIDの== 0// サブプロセス
24         {
 25            // 睡眠(1); 
26             COUTは<< " 私は子供だ、PID = " << GETPID()<< " 私の親は、次のとおりです。" << getppid()<< てendl;
27         }
 28         // 父进程
29         {
 30             睡眠(1 )。
31             COUTは<< " 私は親だ、PID = " << GETPID()<< " 私の親は、次のとおりです。" << getppid()<< てendl;
32         }
 33         COUT << " 両方持っています!" <<endl;
34         リターン 0 35     }

プログラムの結果:

 

 

 手順と結果分析:

 

 

父と息子の共有プロセス

共有の原則に従ってください:共有読み書きの原理をコピーします。

おすすめ

転載: www.cnblogs.com/shaonianpi/p/11442915.html