分布式系统 - P2P文件传输应用程序的事件驱动透视图

时间:2012-02-01 18:03:51

标签: java multithreading synchronization distributed event-driven

我有一个在后台工作的P2P文件传输应用程序,只有在两台机器都不使用时才应激活文件共享。假设在连接到 n 其他计算机的一台计算机上,共享程序在 n + 1个线程中运行以下代码

    /* For eache one of the n peers */
    synchronized void upload(Peer p) {
      while(p.notFinished()) {
      while(isBusy() || p.isBusy())
        wait();
        p.sendNextMB();
      }
    }



    synchronized void report() {
       while(true) {
          while(!isBusy()) wait();
          for(Peer p: peers) p.sendBusy();
          while(isBusy()) wait();
          for(Peer p: peers) p.sendIdle();
       }
    }

我的问题是,从一般情况下,如何以事件驱动的角度实现该计划?我将如何以及为什么在每个时刻选择下一个要执行的事件?

最好的问候

0 个答案:

没有答案