文章
121
粉丝
0
获赞
0
访问
14.5k
//复数的结构类型定义
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;
}
semaphore m_x=1, m_y=1, m_z=1;
semaphore mutex = 1;
thread1
{
wait(mutex);
wait(x);
wait(y);
cnum w;
w=add(x,y);
signal(x);
signal(y);
signal(mutex);
}
thread2
{
wait(mutex);
wait(z);
wait(y);
cnum w;
w=add(y,z);
signal(z);
signal(y);
signal(mutex);
}
thread3
{
wait(mutex);
wait(z);
wait(y);
cnum w;
w.a=1;
w.b=2;
z=add(z,w);
y=add(y,w);
signal(z);
signal(y);
signal(mutex);
}
评分及理由
(1)信号量定义得分及理由(满分3分)
学生定义了m_x=1, m_y=1, m_z=1和mutex=1四个信号量。但存在以下问题:
扣2分,得1分
(2)thread1代码得分及理由(满分1分)
thread1中:
登录后发布评论
暂无评论,来抢沙发