我想知道每個工人演員是否完成,從主演。 請幫我... 我有一個mainActor 和Worker1 Worker2 Worker3。 這裏Worker1 Worker2和Worker3並行執行。 如何識別每個工作人員是否從mainActor完成?如何知道演員完成了它的執行?
0
A
回答
1
依賴注入您的主引用到您的工作者的構造函數中,並讓工作完成後讓主人知道。
下面是一個例子工人:
public class CompletedJob {
public ActorRef actorRef;
CompletedJob(ActorRef actorRef_i) { actorRef = actorRef_i;}
}
class WorkerActor extends UntypedActor {
private ActorRef masterRef;
//pass masterRef into the constructor
WorkerActor(ActorRef masterRef_i) {
masterRef = masterRef_i;
}
public void onReceive(Object message) throws Exception {
if(message instanceof Work) {
Work work = (Work) message;
getSender().tell(longProcess(work), getSelf()); //send result to work sender
masterRef.tell(CompletedJob(getSelf()), getSelf()); //send completion to master
}
}
}
並基於documentation碩士演員的定義,伴隨例如:
class MasterActor extends UntypedActor {
Router router;
{
List<Routee> routees = new ArrayList<Routee>();
for (int i = 0; i < 5; i++) {
ActorRef r = getContext().actorOf(Props.create(Worker.class, getSelf()));
getContext().watch(r);
routees.add(new ActorRefRoutee(r));
}
router = new Router(new RoundRobinRoutingLogic(), routees);
}
public void onReceive(Object message) throws Exception {
if(message instanceof Work) {
router.route(message, sender());
}
if(message instanceof CompletedJob) {
//handle a job completed update
}
}
}
0
有在阿卡關機情況下,一些文件的模式,即您可以輕鬆地在您的情況下重複使用:
作者稱這些模式之一爲「Reaper」,它本質上是一個專門負責等待其他類型演員死亡的專職演員。
+0
好的。謝謝回覆 – junsid
相關問題
- 1. 如何知道當vm.runInContext完成它的執行
- 2. 瞭解akka演員何時完成
- 3. writeToFile如何知道它何時完成
- 4. 從C#執行SSIS包並知道它何時完成?
- 5. Akka。如何知道所有的兒童演員完成他們的工作
- 6. 如何知道演員是否空閒
- 7. Jmeter - 我如何知道測試何時完成執行?
- 8. 我們如何知道threadPoolExecutor已經完成執行
- 9. 如何知道,當這個塊完成執行
- 10. 如何知道腳本執行完成.in Rhino Debugger ..?
- 11. 如何執行選中的演員?
- 12. GPars:等待演員完成
- 13. 如何知道AJAX何時完成了原生JS的過程?
- 14. 如何知道員工已完成Resque中的工作/流程
- 15. 如何知道生成CKEditor WYSIWYG編輯器的javascript是否已完成執行?
- 16. akka.net演員並行執行
- 17. 如何測試akka.net執行者演員
- 18. 如何知道瀏覽器是否真的完成了瀏覽
- 19. 如何知道對象的補間在createjs中完成了
- 20. 如何知道reloadData()完成了他的任務?
- 21. 後臺作業如何在網絡知道它的完成
- 22. 獴虛擬二傳手 - 如何知道它的完成?
- 23. Node和Lazy:我如何知道它何時完成?
- 24. 任務如何知道它何時完成?
- 25. Html5 canvas如何知道它何時完成渲染
- 26. 密碼破解程序如何知道它何時完成?
- 27. 如何知道Chrome的executeScript何時執行完畢?
- 28. 如何知道FileSystemWatcher何時完成
- 29. 如何知道dllmain何時完成?
- 30. 如何知道Core Animation何時完成?
thankyou ramon。你能給我在Java中的代碼....? – junsid
修改爲使用java,雖然我沒有在java中編程幾個月,所以它可能不完全正確。但總的想法是... –
好的。謝謝ramon – junsid