【问题标题】:Alternative way to threads under AndroidAndroid下线程的替代方法
【发布时间】:2012-07-13 08:43:57
【问题描述】:

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

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

提前谢谢你。

【问题讨论】:

  • “替代线程”是指替代Thread 类还是一般的线程?
  • 我想避免同步线程或死锁,并希望有类似 Android 的 Actor 模型或协程之类的东西。有什么适用于 Android 的吗?

标签: android multithreading parallel-processing actor coroutine


【解决方案1】:

您应该尝试使用 Java 版本的 Akka 的 actor: 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 演员版本在这里: https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/com/github/gist/viktorklang/Actor.scala (此处描述其功能:How to implement actor model without Akka?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
相关资源
最近更新 更多