Android下线程的替代方式

时间:2012-07-13 13:29:56

标签: android multithreading parallel-processing actor coroutine

Android的Java和Oracle的Java略有不同。是否可以使用以下演员或协同程序

也适用于Android,以避免在Android的Java和Oracle的Java之间使用线程和共享更多代码?是否有其他框架可用于两个Java版本。

提前谢谢。

1 个答案:

答案 0 :(得分:4)

你应该尝试来自Java版Akka的演员: http://doc.akka.io/docs/akka/snapshot/java/untyped-actors.html

它允许使用最佳实践轻松增长actor拓扑(不通过Java引用直接访问actor,限制区域故障,使用调度程序区限制过载等) - 所有这些都在“Scala in Depth”的免费副本中描述“书: http://typesafe.com/resources/scala-in-depth

以下是Android上使用Akka FSM的演员动态行为的示例(演示http://vimeo.com/20303656): https://github.com/akka/akka/blob/master/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala

您还可以尝试使用Functional Java中的轻量级actor: https://github.com/functionaljava/functionaljava/blob/master/core/src/main/java/fj/control/parallel/Actor.java

JVM的actor的大多数简约版本都在这里: https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/com/github/gist/viktorklang/Actor.scala (其功能描述如下:How to implement actor model without Akka?