文章
126
粉丝
85
获赞
0
访问
109.2k
列出前置关系
| 任务 | 前置任务 | 
| A | 无 | 
| B | 无 | 
| C | A,B | 
| D | 无 | 
| E | C,D | 
AOV图

进行拓扑排序:ABCDE
每个同步关系一个信号量,即每个AOV网中每条有向边(表示一个同步关系)构造一个信号量,默认初始为0
semaphore S_AC = 0;    //控制操作A和C的执行顺序
semaphore S_BC = 0;    //控制操作B和C的执行顺序
semaphore S_CE = 0;    //控制操作C和E的执行顺序
semaphore S_DE = 0;    //控制操作D和E的执行顺序
cobegin
Process A() {
    完成操作A;
    signal(S_AC);    
}
Process B() {
    完成操作B;
    signal(S_BC);    
}
Process C() {
    wait(S_AC);   
    wait(S_BC);   
    完成操作C;
    signal(S_CE);   
}
Process D() {
    完成操作D;
    signal(S_DE);   
}
Process E() {
    wait(S_CE);    
    wait(S_DE);    
    完成操作E;
}
coend
登录后发布评论
暂无评论,来抢沙发