LINUX.ORG.RU

Scala actors и akka

 , ,


0

2

Привет, ЛОР. Решил я таки освоить модель акторов, и вот тут быдлокодовый ШИМ, реализованный на основе scala actors(да, студень, лабы).

class SHIM(max_v:Double, max_u:Double, pump:Pump, delta:Int) extends Actor {
  var i:Int=0;
  def getPercent(inp:Double):Int=((inp/max_v)*delta).asInstanceOf[Int];

  def loop:Unit={
     if(i>0){
       pump.setU(max_u)
       i=i-1
     }else{
       pump.setU(1.0)
     }
  }

  def act(){
    while(true){
      receiveWithin(Model.DELTA_T/delta){
        case a:Double=>{i=getPercent(a)
                        if(i>delta) i=delta;
                        }
        case _=>  {}
      }
      loop
    }
  }
}

В сами акторы не сильно вникал, просто посмотрел доки и решил для себя, что актор - это такой поток с возможностью получения и реакции на сообщения(ну и очередью для организации приема сообщений). А потом обратил внимание на akka, как на лучшую реализацию этих самых акторов для jvm. И в akka для actor'ов отсутствует метод act(), там перегружать надо метод recieve, и делать какие-то действия если нам ничего не пришло такие акторы не могут(так ведь?).

Из всего вышесказанного 2 вопроса: Как реализуется фоновое выполнение задачи с управлением на основе сообщений в akka? И правильно ли я понял что такое actor?

//Критика кода - приветствуется.

★★★★★

Я не понимаю, как можно на этом языке что-то разрабатывать. Эдакий C++ из мира jvm. Столько сахара и столько возможных результатов выполнения одной и той же синтаксической конструкции, что аж плакать хочется. Кстати, а почему не Clojure?

anonymous
()
Ответ на: комментарий от anonymous

Я не понимаю, как можно на этом языке что-то разрабатывать.

мне этот код больше никогда не читать, к тому же, не так все и плохо.

Кстати, а почему не Clojure?

боюсь скобочек и вообще не осилил лиспы

RedPossum ★★★★★
() автор топика

//Критика кода - приветствуется.

У вас там дефицит пробелов что ли?

korvin_ ★★★★★
()
Ответ на: комментарий от anonymous

Столько сахара и столько возможных результатов выполнения одной и той же синтаксической конструкции, что аж плакать хочется

Вы ничего не понимаете в Ъ-ынтерпрайзе! :)

buddhist ★★★★★
()
Ответ на: комментарий от anonymous

столько возможных результатов выполнения одной и той же синтаксической конструкции

Ну-ка примерчик приведи.

ovk48 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.