Akka 프레임 워크를 사용하여 여러 파일에 동시에 쓰려고합니다. 먼저 파일에 쓰는 MyWriter라는 클래스를 만든 다음 선물을 사용하여 두 번 호핑하는 클래스를 호출합니다. 파일은 나를 위해 만들어 지지만, 프로그램의 실행을 모니터 할 때, 먼저 첫 번째 파일을 채운 다음 두 번째 파일을 채 웁니다 (블로킹/동 기적으로).비동기 결과에 Akka와 함께 선물 사용하는 방법
Q : 어떻게 코드를 넣고 실행 (없음-차단/비동기) 할 수
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)
}
코드가 동시에 실행되지 않는 이유 어떤 아이디어?
어떻게 '저장'이 정의 되었습니까? –
ok 질문을 편집하여 추가하십시오. – CruncherBigData
하드 디스크는 병렬 액세스를 좋아하지 않습니다. 그들은 천천히 - 많이. 같은 hd에 있다면 파일을 병렬로 쓰지 마십시오. 또한 이미 언급 된 다른 사람들처럼 장래에 배우와의 의사 소통을 포기하지 마십시오. – SpiderPig