文章
47
粉丝
0
获赞
0
访问
17.1k
semaphore A = 0 ; semaphore C = 0;
T1{ T2{
执行A; 执行B;
signal(A); wait(A);
wait(C); 执行C;
执行E; signal(C); 执行D;}
执行F;
}
评分及理由
(1)得分及理由(满分8分)
学生使用了两个信号量A和C,并尝试用它们来实现线程间的同步。其基本思路是:
这个设计正确地保证了关键跨线程同步点:C必须等待A完成(因为B没有前置,可以随时执行),E必须等待C完成。同时,线程内部的顺序(T1中E在F前,T2中C在D前)由代码顺序自然保证,无需额外信号量。
但是,学生的答案存在以下问题:
登录后发布评论
暂无评论,来抢沙发