2012-07-13 41 views
10

Java của Java và Java của Oracle hơi khác một chút. Là nó có thể sử dụng các diễn viên sau hoặc coroutinesCách thay thế cho các chuỗi trong Android

cũng dành cho Android để tránh phải sử dụng đề và chia sẻ mã hơn giữa Java của Java và Java của Oracle? Có các khung công tác khác có sẵn cho cả hai phiên bản Java hay không.

Cảm ơn bạn trước.

+1

Bằng cách "thay thế cho chủ đề" bạn có nghĩa là thay thế cho 'Thread' lớp hoặc luồng nói chung? – Tudor

+0

Tôi muốn tránh đồng bộ hóa Chủ đề hoặc khóa chết và muốn có một cái gì đó giống như một mô hình diễn viên hoặc coroutines cũng cho Android. Có điều gì ở đó cho Android không? – user977828

Trả lời

4

Bạn nên cố gắng diễn viên từ phiên bản Java của Akka: http://doc.akka.io/docs/akka/snapshot/java/untyped-actors.html

Nó cho phép trồng dễ dàng topo diễn viên sử dụng thực hành tốt nhất (không truy cập trực tiếp các diễn viên bằng cách tham chiếu Java, hạn chế thất bại với các vùng, hạn chế tình trạng quá tải sử dụng khu scheduler vv) - tất cả trong số họ được mô tả trong bản sao miễn phí của "Scala ở Depth" cuốn sách: http://typesafe.com/resources/scala-in-depth

Dưới đây là ví dụ (với bản demo http://vimeo.com/20303656) về hành vi năng động của các diễn viên sử dụng Akka FSM trên Android: https://github.com/akka/akka/blob/master/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnBecome.scala

Ngoài ra bạn có thể thử diễn viên nhẹ từ chức năng Java: https://github.com/functionaljava/functionaljava/blob/master/core/src/main/java/fj/control/parallel/Actor.java

phiên bản tối giản Hầu hết các diễn viên cho JVM là ở đây: https://github.com/plokhotnyuk/actors/blob/master/src/test/scala/com/github/gist/viktorklang/Actor.scala (tính năng của nó được mô tả ở đây: How to implement actor model without Akka?)

+2

Cảm ơn bạn. Akka phụ thuộc vào thư viện thời gian chạy của Scala có dung lượng hơn 8 Mb. Gpars http://www.gpars.org/guide/guide/2.%20Getting%20Started.html#2.7%20Java%20API%20-%20Using%20GPars%20from%20Java chỉ lớn hơn 450 KB. j-javaactors http://www.ibm.com/developerworks/java/library/j-javaactors/ có dung lượng lớn khoảng 400 KB. Ngoài ra còn có http://code.google.com/p/functionaljava/downloads/danh sách khoảng 2 MB lớn và http://code.google.com/p/guava-libraries/wiki/ListenableFutureExplained – user977828

Các vấn đề liên quan