等待所有阶段完成

时间:2016-03-07 19:41:04

标签: java monitor

我的显示器有问题。我需要编写两种方法来实现这个目的:

有N个过程,从P(0)到P(N),每个过程分为三个阶段A,B和C.为了使P(0)的阶段B所有过程的所有A阶段都需要完成并完成所有过程的所有C阶段,P(0)的阶段B需要完成。这是一张图片:

diagram

这是代码:

public synchronized void finA(int idProceso) throws InterruptedException {
    if(idProceso == 0)
        this.wait();
    else
        this.notifyAll();
}

public synchronized void finB(int idProceso) throws InterruptedException {
    if(idProceso == 0)
        this.wait();
    else
        this.notify();
}

方法finA()在流程的阶段A完成后调用,与方法finB()相同。

问题是在P(0)的阶段B完成之前完成了一些C阶段。

0 个答案:

没有答案