作者: falcon 發表日期: 2006-07-14 16:49
復制鏈接
多進程編程是作為程序員必須熟悉的一個東西哦
下面,我們在linux用系統的fork調用來實現多進程編程練習
先看代碼吧
Code:
[Ctrl+A Select All]
再來看看效果
Quote: |
falcon@falcon:~/program/c/code/process$ gcc -o mul_pro_myself mul_pro_myself.c falcon@falcon:~/program/c/code/process$ ./mul_pro_myself I am the child :32063 child_pro: 0 I'm the parent :32062 parent_pro: 0 child_pro: 1 parent_pro: -1 child_pro: 2 child_pro: 3 parent_pro: -2 child_pro: 4 parent_pro: -3 Child exit with:5 Who am I :5 parent_pro: -4 Parent exit with:-5 Who am I :-5
|
看到上面的代碼,結合上面的實驗結果,我們有個疑問: Who am I? i的值到底是什么呢?
以我們平常的經驗,變量i在整個程序里頭只可能有一個副本,也就是說在任何一個狀態,他的值是唯一的。
但是我們從上面的實驗結果可以看出,在多進程的程序里頭,情況就不再是這個樣子,在不同的進程中保存了不同的副本。
好玩不?
如果對程序有疑問,歡迎查看下面的參考資料哦,非常不錯的資料
參考資料:
《linux操作系統下c語言編程入門 》
http://www.mwjx.com/aboutfish/private/book/linux_c.txt