Распределенные системы - управляемая событиями перспектива приложения для передачи файлов P2P - PullRequest
1 голос
/ 01 февраля 2012

У меня есть приложение для передачи файлов 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();
       }
    }

Мой вопрос заключается в том, как в целом можно реализовать эту программу с точки зрения событий? И как и почему я выберу в каждый момент, какое событие будет следующим?

С наилучшими пожеланиями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...