文章
266
粉丝
1101
获赞
1683
访问
136w
semaphore $AC = CE = 0$; // AC保证A和C之间的同步性 // CE保证C和E之间的同步性 process $T_1$() { A; signal(AC); wait(CE); E; F; } process $T_2$() { B; wait(AC); C; signal(CE); D; }
评分及理由
(1)得分及理由(满分8分)
学生答案:
semaphore S_AC = 0; //控制操作A和C的执行顺序 semaphore S_BC = 0; //控制操作B和C的执行顺序 semaphore S_CD = 0; //控制操作C和D的执行顺序 semaphore S_CE = 0; //控制操作C和E的执行顺序 semaphore S_EF = 0; //控制操作E和F的执行顺序 cobegin Process T1() { // process A 完成操作A; signal(S_AC); // V(S_AC); // process E wait(S_CE); // P(S_CE); 完成操作E; signal(S_EF); // V(S_EF); // process F wait(S_EF); // P(S_EF); 完成操作F; } Process T2() { // process B 完成操作B; signal(S_BC); // V(S_BC); // process C wait(S_AC); // P(S_AC); wait(S_BC); // P(S_BC); 完成操作C; signal(S_CD); // V(S_CD); signal(S_CE); // V(S_CE); // process D wait(S_CD); // P(S_CD); 完成操作D; } coend
评分:8分
理由:学生的答案与标准答案完全一致,正确使用了信号量实现了线程间的同步关系,所有信号量的初始值和操作顺序都正确,没有逻辑错误。
题目总分:8分
登录后发布评论
暂无评论,来抢沙发