返回主页
学习人数: 721
stroke-dashoffset="*2.6389" stroke-linecap="round" transform="rotate(-90 50 50)"/>
正确率: 100%
未通过

(8分)某进程中有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())操作,要求确保线程互斥访问临界资源,并且最大程度地并发执行。

回答区域
提示
提示内容

登录后提交答案


暂无评论,来抢沙发