2012-07-13 7 views
10

Androids Java und Oracles Java sind etwas anders. Ist es möglich, die folgenden Akteure zu nutzen oder KoroutinenAlternativer Weg zu Threads unter Android

auch für Android zu vermeiden, um Threads zu verwenden und mehr Code teilen zwischen Androids Java und Oracles Java? Gibt es andere Frameworks für beide Java-Versionen?

Vielen Dank im Voraus.

+1

Mit "Alternative zu Fäden" meinst du eine Alternative zu der 'Thread'-Klasse oder Threading im Allgemeinen? – Tudor

+0

Ich möchte vermeiden, Threads oder tote Sperren zu synchronisieren und möchte so etwas wie ein Actor-Modell oder Coroutines auch für Android haben. Gibt es etwas für Android? – user977828

Antwort

4

Sie sollten Akteure aus Java-Version von Akka versuchen: http://doc.akka.io/docs/akka/snapshot/java/untyped-actors.html

Es ermöglicht den einfachen Anbau von Schauspieler Topologie Best Practices (ohne direkten Zugang zu den Akteuren von Java-Referenz verwenden, Fehler zu Zonen zu begrenzen, die Begrenzung Überlastung Scheduler Zonen mit etc.) - alle von ihnen sind in kostenlose Kopie von "Scala in Depth" Buch beschrieben: http://typesafe.com/resources/scala-in-depth

Hier ist Beispiel (mit Demo http://vimeo.com/20303656) des dynamischen Verhaltens von Akteuren auf Android Akka FSM mit: https://github.com/akka/akka/blob/master/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala

Sie können auch leichte Akteure aus Functional Java versuchen: https://github.com/functionaljava/functionaljava/blob/master/core/src/main/java/fj/control/parallel/Actor.java

Die meisten minimalistische Version eines Akteurs für JVM ist hier: https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/com/github/gist/viktorklang/Actor.scala (seine Funktionen hier beschrieben: How to implement actor model without Akka?)

+2

Danke. Akka hängt von der Scala-Laufzeitbibliothek ab, die mehr als 8 MB groß ist. Gpars http://www.gpars.org/guide/guide/2.%20Getting%20Started.html#2.7%20Java%20API%20-%20Using%20GPars%20from%20Java ist nur 450 KB groß. j-javaactors http://www.ibm.com/developerworks/java/library/j-javaactors/ ist ungefähr 400 KB groß. Es gibt auch http://code.google.com/p/functionaljava/downloads/list etwa 2 MB großen und http://code.google.com/p/guava-libraries/wiki/ListenableFutureExplained – user977828