Skip to content

Latest commit

 

History

History
34 lines (32 loc) · 2.38 KB

README.md

File metadata and controls

34 lines (32 loc) · 2.38 KB

Akka-Demo

В парикмахерской есть зал для стрижки одного клиента и комната ожидания n клиентов. Клиенты заходят в комнату ожидания по одному, если в ней есть место, либо уходят стричься в другой салон, если все места заняты. После того, как парикмахер заканчивает стрижку, клиент покидает салон и к парикмахеру заходит следующий клиент(если таковой имеется). Клиенты могут по одному заходить в комнату ожидания и также по одному заходить в зал для стрижки (если он свободен), причем эти два события являются взаимоисключающими. Если парикмахер видит, что в зале ожидания никого нет, он пересаживается вздремнуть в этом зале. Новый клиент, обнаружив дремлющего парикмахера, будит его, и тот стрижет клиента; в противном случае пришедший клиент должен будет подождать. Воспользуйтесь многопоточностью, чтобы скоординировать действия парикмахера и клиентов.

Настройка
Перед началом работы необходимо убедиться, что у Вас установлена java и maven. Далее используя IDE создаем maven проект. Для работы с Akka необходимо добавить следующие строчки в файл pom.xml:

<repositories>
  <repository>
    <id>akka-snapshots</id>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <url>http://repo.akka.io/snapshots/</url>
  </repository>
</repositories>
<dependency>
  <groupId>com.typesafe.akka</groupId>
  <artifactId>akka-actor_2.10</artifactId>
  <version>2.4-SNAPSHOT</version>
</dependency>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>