论坛风格切换切换到宽版
  • 733阅读
  • 0回复

[问题求助][RedHat] linux操作系统进程实验问题 [复制链接]

上一主题 下一主题
离线蓝雪.
 
发帖
1830
C币
-236135
威望
324
贡献值
1
银元
-1
铜钱
4045
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
以下为linux环境.下的.操作系统“进程控制”实验相关部分:.
#include<.stdio.h>.
main()
{
        int p1.,p2,i;          婚庆
    .    if(p1=fork()).
        {
      .     .  lockf(1,1,0);教育
        ..     for(i=0;i<5000;i++) .
   .             .printf("child %d\n",i);.
.                    lockf(1,0.,0);健康
        }
        else
        {
     .          . if(p2=fork())           建材
  .                    .  { 投资
               .         lockf(1,1,0).;.
                   .   .       for(i=0;i<5000;i++) printf("son %d\n",i);.
              .        .      lockf(1,0,0);--------------彩票
   .                     }[成人用品]
     .           else.
   .             { 教育
               . lock.f(1,1,0);学习
                     for(i=0;i.<5000;i++) printf.("daughter %d\n",i);.
           lockf(.1,0,0);    健康
             .   }.
        }
}
这个实验的目的是想让学生体会到加上lockf的作用,可以互斥的显示在屏.幕上。即:完全输出child后完全输出son或者再完全输.出daughter。--------------彩票
但是真正做实验的时候,发现三个进程还是并.发的把结果显示在屏幕上,即:child输出到4000多行,就又开始输出son.了。。。。           建材
请问这是为什么呢?错在哪里呢?lo.ckf()不就是加锁,能够保.证互斥吗?--- 印刷

请高手回答,谢谢!
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个