2012-07-13 17 views
10

Java de Java y Oracle de Android son ligeramente diferentes. ¿Es posible utilizar los siguientes actores o corrutinasManera alternativa a los hilos en Android

también para Android con el fin de evitar utilizar hilos y compartir más código entre Java de Android y Java de Oracle? ¿Hay otros marcos disponibles para ambas versiones de Java?

Gracias de antemano.

+1

Por "alternativa a las discusiones" ¿te refieres a una alternativa a la clase 'Thread' o rosca en general? – Tudor

+0

Me gustaría evitar sincronizar hilos o bloqueos muertos y me gustaría tener algo así como un modelo Actor o coroutines también para Android. ¿Hay algo por ahí para Android? – user977828

Respuesta

4

Usted debe tratar actores de versión Java de Akka: http://doc.akka.io/docs/akka/snapshot/java/untyped-actors.html

Permite una fácil cultivo de topología el actor utilizando las mejores prácticas (no hay acceso directo a los actores por referencia de Java, lo que limita las fallas a las zonas, lo que limita la sobrecarga de uso de las zonas de planificador etc.) - todos ellos se describen en la copia gratuita de "Scala en profundidad" del libro: http://typesafe.com/resources/scala-in-depth

Aquí es ejemplo (con demostración http://vimeo.com/20303656) del comportamiento dinámico de los actores utilizando Akka FSM en Android: https://github.com/akka/akka/blob/master/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala

También puede probar los actores de peso ligero de Java funcional: https://github.com/functionaljava/functionaljava/blob/master/core/src/main/java/fj/control/parallel/Actor.java

versión más minimalista de un actor para la JVM está aquí: https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/com/github/gist/viktorklang/Actor.scala (sus características descritas aquí: How to implement actor model without Akka?)

+2

Gracias. Akka depende de la biblioteca de tiempo de ejecución Scala que es más de 8 Mb. Gpars http://www.gpars.org/guide/guide/2.%20Getting%20Started.html#2.7%20Java%20API%20-%20Using%20GPars%20from%20Java tiene solo 450 KB de tamaño. j-javaactors http://www.ibm.com/developerworks/java/library/j-javaactors/ tiene alrededor de 400 KB de tamaño. También hay http://code.google.com/p/functionaljava/downloads/list alrededor de 2 MB de tamaño y http://code.google.com/p/guava-libraries/wiki/ListenableFutureExplained – user977828

Cuestiones relacionadas