Опитвам се да пиша в множество файлове едновременно, като използвам рамката Akka. Първо създадох клас, наречен MyWriter, който пише във файл, след това използвайки фючърси, извиквам обекта два пъти, като подскачам, че ще бъдат създадени 2 файла за мен, но когато наблюдавам изпълнение на програмата, тя първо попълва първия файл и след това втория (блокиране /синхронно).
Въпрос: как мога да накарам кода по-долу да се изпълнява (без блокиране /асинхронно)
import akka.actor._
import akka.dispatch._
import akka.pattern.ask
import akka.util.Timeout
import scala.concurrent.Await
import scala.concurrent.duration._
import scala.concurrent.Future
import scala.concurrent.{ ExecutionContext, Promise }
import ExecutionContext.Implicits.global
class my_controler {
}
object Main extends App {
val system = ActorSystem("HelloSystem")
val myobj = system.actorOf(Props(new MyWriter), name = "myobj")
implicit val timeout = Timeout(50 seconds)
val future2 = Future { myobj ! save("lots of conentet") }
val future1 = Future { myobj ! save("event more lots of conentet") }
}
кодът на MyWriter:
case class save(startval: String)
class MyWriter extends Actor {
def receive = {
case save(startval) => save_to_file(startval)
}
някакви идеи защо кодът не се изпълнява едновременно?
save
? - person om-nom-nom   schedule 19.05.2013