返回主页

[操作系统 P1829] 某进程中有3个并发执行的线程thread1、thread2、thread3,其伪代码如下所示。

 
学习人数: 71
 
正确率: ??%
答案解析

题目描述
未通过

某进程中有3个并发执行的线程thread1、thread2、thread3,其伪代码如下所示。

//复数的结构类型定义
typedef struct
{
    float a;
    float b;
}cnum;
cnum x,y,z; //全局变量

//计算两个复数之和
cnum add( cnum p,cnum q)
{
    cnum s;
    s.a=p.a+q.a;
    s.b=p.b+q.b;
    return s;
}

thread1
{
    cnum w;
    w=add(x,y);
    ...
}

thread2
{
    cnum w;
    w=add(y,z);
    ...
}

thread3
{
    cnum w;
    w.a=1;
    w.b=2;
    z=add(z,w);
    y=add(y,w);
    ...
}

请添加必要的信号量和P、V(或wait()、signal())操作,要求确保线程互斥访问临界资源,并且最大程度地并发执行。


上一题
下一题
加入错题本
个人笔记

登录后提交答案


暂无评论,来抢沙发