草庐IT

tokio_actor

全部标签

观察UE4里“在外部存储Actor”功能的基础行为

目标一般情况下,Actor保存于关卡文件中。但是,如果将Actor的packagingmode设置为External:则此Actor就会存储在另一个文件而非关卡文件中。本篇目标是:观察此功能的基础行为观察外部文件的路径名规则“在外部存储Actor”功能的基础行为对于一般的Actor(默认packagingmode为Internal)。修改此Actor会标脏关卡,SaveAll时会提示保存此关卡:而对于packagingmode设置为External的Actor,修改此Actor不会标脏关卡,SaveAll时可见其文件并非关卡文件,而是另一个文件:这个文件在UE编辑器的ContentBrowse

ET介绍——Actor Location

ActorLocationActor模型只需要知道对方的InstanceId就能发送消息,十分方便,但是有时候我们可能无法知道对方的InstanceId,或者是一个Actor的InstanceId会发生变化。这种场景很常见,比如:很多游戏是分线的,一个玩家可能从1线换到2线,还有的游戏是分场景的,一个场景一个进程,玩家从场景1进入到场景2。因为做了进程迁移,玩家对象的InstanceId也就变化了。ET提供了给这类对象发送消息的机制,叫做ActorLocation机制。其原理比较简单:因为InstanceId是变化的,对象的Entity.Id是不变的,所以我们首先可以想到使用Entity.Id

ET介绍——分布式Actor模型

Actor模型Actor介绍在讨论Actor模型之前先要讨论下ET的架构,游戏服务器为了利用多核一般有两种架构,单线程多进程跟单进程多线程架构。两种架构本质上其实区别不大,因为游戏逻辑开发都需要用单线程,即使是单进程多线程架构,也要用一定的方法保证单线程开发逻辑。ET采用的是单线程多进程的架构,而传统Actor模型一般是单进程多线程的架构,这点是比较大的区别,不能说谁更好,只能说各有优势。优劣如下:逻辑需要单线程这点都是一样的,erlang进程逻辑是单线程的,skynetlua虚拟机也是单线程的。ET中一个进程其实相当于一个erlang进程,一个skynetlua虚拟机。采用单线程多进程不需要

java - Akka:动态创建的 Actor 完成后需要清理它们吗?

我已经使用Akka及其JavaAPIUntypedActor实现了一个Actor系统。其中,一个参与者(A类)使用getContext().actorOf(...);按需动态启动其他参与者(B类)。那些BActor会做一些A不再关心的计算。但是我想知道:那些B型Actor完成后是否有必要清理他们?如果有,怎么做?通过让BActor在完成后调用getContext().stop(getSelf())?通过让BActor在完成后调用getSelf().tell(Actors.poisonPill());?[这是我现在正在使用的]。什么都不做?由...?文档对此并不清楚,或者我忽略了它。我对

java - Akka:动态创建的 Actor 完成后需要清理它们吗?

我已经使用Akka及其JavaAPIUntypedActor实现了一个Actor系统。其中,一个参与者(A类)使用getContext().actorOf(...);按需动态启动其他参与者(B类)。那些BActor会做一些A不再关心的计算。但是我想知道:那些B型Actor完成后是否有必要清理他们?如果有,怎么做?通过让BActor在完成后调用getContext().stop(getSelf())?通过让BActor在完成后调用getSelf().tell(Actors.poisonPill());?[这是我现在正在使用的]。什么都不做?由...?文档对此并不清楚,或者我忽略了它。我对

java - 我如何检查 Akka Actor 是否存在(akka 2.2)?

我有一个java对象,它不是使用actorSelection(Path))从Actor系统中选择Actor的Actor。系统中可能不存在所选参与者。在JavaApi中,ActorSelection不存在ask(),因此我无法向Actor选择发送和识别消息并使用响应的发送者。我试图通过Actor选择将消息发送给Actor然后对死信作出react来解决问题。但我没有收到任何死信。如何检查ActorSelectionActor是活着还是不存在?ActorSystemsystem=ActorSystem.create("test");//createtestactorsystem.actorO

java - 我如何检查 Akka Actor 是否存在(akka 2.2)?

我有一个java对象,它不是使用actorSelection(Path))从Actor系统中选择Actor的Actor。系统中可能不存在所选参与者。在JavaApi中,ActorSelection不存在ask(),因此我无法向Actor选择发送和识别消息并使用响应的发送者。我试图通过Actor选择将消息发送给Actor然后对死信作出react来解决问题。但我没有收到任何死信。如何检查ActorSelectionActor是活着还是不存在?ActorSystemsystem=ActorSystem.create("test");//createtestactorsystem.actorO

java - Akka Actor 和 future : Understanding by example

我正在尝试学习AkkaActor和future,但在阅读了http://akka.io上的文档之后做http://doc.akka.io/docs/akka/2.0.2/intro/getting-started-first-java.html我仍然有一些理解问题。我猜计算Pi的值很多人也可以联系起来,但不是我=)。我搜索了一下但还没有找到任何适合我的例子。因此,我想我会拿一些我的真实代码并把它扔在这里,并用它来交换一个如何用Akka做到这一点的例子。好的,我们开始吧:我有一个javaplay2应用程序,我需要从我的数据库中获取一些数据并将其索引到我的elasticsearch实例中。

java - Akka Actor 和 future : Understanding by example

我正在尝试学习AkkaActor和future,但在阅读了http://akka.io上的文档之后做http://doc.akka.io/docs/akka/2.0.2/intro/getting-started-first-java.html我仍然有一些理解问题。我猜计算Pi的值很多人也可以联系起来,但不是我=)。我搜索了一下但还没有找到任何适合我的例子。因此,我想我会拿一些我的真实代码并把它扔在这里,并用它来交换一个如何用Akka做到这一点的例子。好的,我们开始吧:我有一个javaplay2应用程序,我需要从我的数据库中获取一些数据并将其索引到我的elasticsearch实例中。

java - Akka 中的 Typed 和 UnTyped Actor 有什么区别?什么时候用什么?

我尝试阅读Akka文档以找出Typed和UntypedActor之间的确切区别。什么时候用什么?我不确定我错过了什么。有人可以在这里指出一些相关的东西或提供这个问题的答案吗? 最佳答案 UntypedActor只是Actor的名称,但作为JavaAPI。以下是一些文档链接:Java:http://akka.io/docs/akka/1.2/java/typed-actors.htmlhttp://akka.io/docs/akka/1.2/java/untyped-actors.html斯卡拉:http://akka.io/docs