精华内容
下载资源
问答
  • actor

    2018-01-29 10:13:39
    Actor is better than a lot of people have more experience, he (she) in every scene, even though only a few months or a year's time to feel each role of the heart, in today's society, the actor has a l

    Actor is better than a lot of people have more experience, he (she) in every scene, even though only a few months or a year's time to feel each role of the heart, in today's society, the actor has a lot of, some people say it's old play bone, some is little fresh, but they gave us a different visual experience and more life feeling, let me have the courage to face the reality of life.

    Actors

    展开全文
  • Actor

    2015-12-30 11:01:19
    Actor On this page: 概述Actor 创建组件Ticking(更新)复制 概述 Actor是一种基本类型的对象,您可以将它放到世界中或者可以在世界中生成 它。关于Actor的一个很好的简介是“可以...

    Actor

    概述

    Actor是一种基本类型的对象,您可以将它放到世界中或者可以在世界中生成 它。关于Actor的一个很好的简介是“可以更新的一群组件”。实际上,Actor可以做很多 事情;请查看 Actor.h 获得其包含的所有变量及函数。

    一般,不会对Actor进行垃圾回收,因为World Object存放了一个Actor引用列表。通过调用 Destroy() ,可以显式地销毁Actor。这样会从关卡中删除该Actor,并将其标记为 “待销毁”状态,这意味着直到下一次垃圾回收清理它们之前,这些Actor仍然存在。

    Actor 创建

    创建新的 AActor 类实例的过程称为 生成 。这个处理可以通过使用通用的 SpawnActor() 函数或者其中一个专用的模板版本来完成。

    请参照 生成 Actors页面获得关于为游戏创建 AActor 类的实例的各种方法的详细信息。

    组件

    在某种意义上,您可以把 Actors 想象成为一个容器,它存放了特殊类型的 对象 ,称为组件 。您可以使用不同类型的组件来控制如何移动Actors 、 如何渲染Actor等。Actors 的另一个主要功能是游戏过程中在网络上 复制
    属性和函数调用。

    当创建组件时,组件和包含它们的Actor相关联。

    几种主要类型的组件包括:

    UActorComponent

    这是组件基类。它可以作为Actor的一部分。如果您想更新它则可以更新它。

    USceneComponent

    这个组件是“物理上实际存在”的东西,因为它可以存在于世界中。SceneComponents具有变换,这意味着它们可以到处移动及和世界中的其他东西 进行交互。在附加物层次结构中,它们也可以连接到一起。

    UPrimitiveComponent

    这个组件不仅可以存在于世界中,同时具有某种形式的表示(比如一个网格物体或粒子系统)。很多有趣的物理和碰撞设置 都在这里处理。

    Actor可以具有层次结构化的SceneComponent。每个 Actor 也具有一个 RootComponent 属性,指出了哪个组件作为该 Actor 的根组件。Actors 本身没有变换,所以它们不具有位置、旋转度、 或缩放比例信息。但是,它们可以依赖于它们组件的变换;更确切地讲,是它们的根组件。如果这个组件是 SceneComponent ,那么它将为 该 Actor 提供变换信息。否则, Actor 将没有变换。其他的附加组件的变换是相对于它们所附加到的组件的。

    Actor及其层次结构的示例可能如下所示:

    GoldPickup Actor 层次结构
    GoldPickupExampleActor.png
    • Root(根组件) - SceneComponent: 设置Actor在世界中的基础位置的基本场景组件。

      • StaticMeshComponent(静态网格物体组件): 代表金矿石的网格物体。

        • ParticleSystemComponent(物理系统组件): 附加到金矿石上的火花粒子发射器。

        • AudioComponent(音频组件): 附加到金矿石上的金属敲击响声循环音频发射器。

        • BoxComponent(盒体组件): 碰撞盒体,用作为拾取金子时重叠事件的触发器。

    Ticking(更新)

    Ticking(更新) 是指在虚幻引擎中对象如何更新。所有对象每帧都可以更新,使您可以执行任何更新计算或者必要的动作。

    默认情况下, Actor 都可以通过 TickActor() 函数进行更新。引擎每帧会执行一次该函数。

    ActorComponents 默认也可以进行更新。请参照组件页面的更新部分获得更多信息。

    复制

    Replication(复制) 在多玩家网络游戏中,用于保持世界中的玩家同步。属性值和调用都可以进行复制,从而可以完全地 控制所有客户端上的游戏的状态。

    展开全文
  • 23Actor

    2021-01-07 16:18:51
    1.Actor 是一个并行计算模型,运用信息和邮箱通信。基于线程、基于事件的任务调度。 并行: 同一时间点 多个线程一起执行 并发: 同一时间段 多个线程一起执行 接收消息:mailbox; 处理消息:创建新的actor;指定下...
  • Actor模型

    2021-03-19 16:57:31
    Actor模型于1970年年初被提出,为并行计算而生,理念非常简单:所有对象皆Actor,在Actor之间仅通过发送消息进行通信,所有操作都是异步的,不同的Actor可以同时处理各自的消息,使整个系统获得大规模的并发能力。...

    Actor模型于1970年年初被提出,为并行计算而生,理念非常简单:所有对象皆Actor,在Actor之间仅通过发送消息进行通信,所有操作都是异步的,不同的Actor可以同时处理各自的消息,使整个系统获得大规模的并发能力。但是,该理念在当时有些超前,因此很快被人遗忘。直到Erlang这种基于Actor模型设计的面向并发编程的新语言横空出世,在并发领域竖起一座丰碑,Actor模型才再次成为分布式计算领域的热点技术之一。

    目前,几乎在所有主流开发平台下都有了Actor模型的实现:Java平台下Scala的Actor类库和Jetlang;NET平台下的MS CCR和Retlang;F#平台下的MailboxProcessor;微软基于MS CCR构建的新语言Axum。

    我们可以认为Actor模型是面向对象模型在并发编程领域的一个扩展。Actor模型精心设计了消息传输和封装的机制,强调了面向对象。我们可以将一个Actor类比为一个对象,对象提供了方法以供其他对象调用,等价于一个Actor可以处理某些类型的消息并进行响应,但与方法调用不同,Actor之间的消息通信全部是异步模式,避免了同步方法调用可能产生的阻塞问题,因此很适合高度并行的系统。但是,异步编程这种思维模式大大增加了我们在编程中所耗费的脑力劳动,很难被习惯了CRUD的大众程序员们所接受,所以注定了Actor模型曲高和寡的命运。

    从另一方面来考虑,Actor模型大大简化了并行编程的复杂度。我们知道,对象一般都有属性(状态),但如何高效、安全地处理对象的可变属性,成为多线程并发编程领域中公认的编程难题。比如Java为了解决这一难题,先后设计了volatile变量、Atomic变量、基于Atomic的CAS原子计数器指令、轻型的Lock锁,最后祭出了Java并发领域专家Doug Lea教授潜心数年编写的难度极高的并发集合框架——Java Concurrent Collection。但是即使从业多年,我们依然难以写出一段工业级质量的多线程代码。Actor之父——Carl Hewitt很早就敏锐地意识到了这个问题,于是定义了Actor的第2个重要特性:Actor模型的内部状态不能被其他Actor访问和改变,除非发送消息给它。那么消息是否可变呢?显而易见,Actor发出的消息也是不可变的。Actor模型舍弃了共享变量和共享内存这种常规编程模式,虽然失去了一定的灵活性,却让任意两个Actor都具备了跨越网络实现分布式计算的天然基因,从而成就了其在大规模分布式计算领域的“不老传说”。

    Actor模型的优点很明显,即将消息收发、线程调度、处理竞争和同步的所有复杂逻辑都委托给了Actor框架本身,而且对应用来说是透明的。我们可以认为Actor只是一个实现了Runnable接口的对象,在关注多线程并发问题时,只需要关注多个Actor之间的消息流即可。此外,符合Actor模型的程序也很容易被测试,因为任意一个Actor都可以被单独进行单元测试。如果测试案例覆盖了该Actor所能响应的所有类型的消息,就可以确定该Actor的代码十分可靠。

    那么,Actor模型的缺点有哪些呢?简单总结如下。

    ● Actor完全避免共享并且仅通过消息传递进行交流,使得程序员失去了精细化并发调控的能力,所以不太适合实施细粒度的并行且可能导致系统响应延时的增加。如果在Actor程序中引入一些并行框架,就可能导致系统的不确定性。

    ● 尽管使用Actor模型的程序比使用线程与锁模型的程序更容易调试,Actor模型仍会出现死锁这一类共性问题,也会出现一些Actor模型独有的问题(例如信箱溢出)。

    此外,Actor平台实现起来较为复杂,而且平台的性能取决于其实现原理与底层机制,比如分布式情况下的消息传输机制、网络通信机制及消息到Actor的派发机制,在这些方面如果有处理不好的地方,就会导致整体性能和稳定性问题。比如某个Actor因为某个错误陷入死循环,疯狂地消耗CPU,基本上整个系统就瘫痪了,其他Actor很难有机会正常工作,此时Java上的Akka平台由于根本做不到公平调度,在出现这种问题时什么也调度不了,只能等待操作系统切换线程。而Erlang尽力实现了“可抢占的公平”调度,比较好地解决了这一难题。

    展开全文
  • ga_server 基于protoactor框架的actor游戏服务器
  • Scala Actor

    2020-04-20 13:32:58
    scala的Actor类似于java中的多线程编程,scala中的Actor尽可能的避免锁和共享状态,从而避免多线程并发时出现资源争夺的情况,进而提升多线程编程的性能。 spark中使用的分布式多线程框架为Akka,核心是actor。 1. ...

    scala的Actor类似于java中的多线程编程,scala中的Actor尽可能的避免锁和共享状态,从而避免多线程并发时出现资源争夺的情况,进而提升多线程编程的性能。
    spark中使用的分布式多线程框架为Akka,核心是actor。

    1. actor的创建、启动和消息收发

    scala提供了Actor trait用于多线程编程,类似于java中的Thread和Runnable,通过实现Actor trait的act方法,即可实现线程执行体。
    使用start()启动actor;使用!向actor发送消息;actor内部使用receive和模式匹配接收消息。

    import scala.actors.Actor
    object Score extends App {
      class HelloActor extends Actor{
        def act(): Unit ={
          while(true){
            receive{
              case name: String => println(name)
            }
          }
        }
      }
      val helloActor = new HelloActor
      helloActor.start()
      helloActor !"leo"
    
    }
    

    2.收发case class 类型的消息

    scala的actor模型与java模型之间的一个区别是,scala actor支持线程间的通信,即一个actor可以给另一个actor发送消息。
    要给一个actor发送消息使用actor ! message 的语法。在scala中,通常使用case class 作为消息的传递,在actor中使用模式匹配的不同消息做不同处理

    import scala.actors.Actor
    object Score extends App {
      case class Login(username: String, password: String)
      case class Register(username: String, password: String)
      class UserManageActor extends Actor{
        def act(): Unit ={
          while(true){
            receive{
              case Login(username, password)=>println("login,username: "+ username)
              case Register(username, password) => println("register ")
    
            }
          }
        }
      }
    
      val userManageActor = new UserManageActor
      userManageActor.start()
      userManageActor ! Register("cys","123")
      userManageActor ! Login("joe","123")
    } 
    

    3.Actor之间互相收发消息

    一个actor向另一个actor发送消息时,同时带上自己的引用;其他actor收到自己的消息时,直接通过发送消息的actor引用,即可回复消息。

      case class Message(content: String,sender: Actor)
      class cysTelephoneActor extends Actor{
        def act(): Unit ={
          while (true){
            receive{
              case Message(content, sender) => println("cys: "+ content);sender ! "wait 5 seconds"
            }
          }
        }
      }
    
      class joeActor(val cysActor: Actor) extends Actor{
        def act: Unit ={
          cysActor ! Message("Hello, joe, I'm cys.", this)
          receive{
            case response: String => println("joe: " + response)
          }
        }
      }
    
      val cysActor = new cysTelephoneActor
      cysActor.start()
      val joeActor = new joeActor(cysActor)
      joeActor.start()
    

    4. 同步消息和Future

    默认情况下消息是异步的,但如果希望发送的消息是同步的,即对方接收消息后一定要返回结果,那么可以使用!? 发送消息。
    即val reply = actor !? message

    如果要发送异步消息,但后续要接收消息返回值使用 !! 。val fulture = actor !! message;val replay = future()

    展开全文
  • 跨平台演员 介绍Go和C#之间的跨平台参与者支持。 我可以用这个吗? Go实施仍处于测试阶段,已经有... 超快速远程处理,Proto Actor目前设法仅使用两个actor在节点之间每秒传递超过200万条消息,同时仍保持消息顺序!
  • 前提:有多线程知识我对这种模式有点疑问,思维转不过来,于是记录如下:=====================================Actor 每个是独立的对象。Actor 之间通过消息通信。"actor之间的通信是单向和异步的。因此,消息发送...
  • akka Actor

    2018-11-11 17:57:33
      上层actor模型:Actor, ActorCell, ActorContext,...用户能看到的actor是trait akka.actor.Actor,这个只是actor对外的一个门面,actor要访问actor系统内部的功能,基本上都要通过ActorContext来访问。 Actor...
  • Actor 类定义Actor 类需要继承AbstractActor类实现createReceive方法,绑定各类actor收到不同类型消息对应处理不同业务逻辑默认提供了ReceiveBuilder类辅助创建 Receive对actorOf的调用返回ActorRef的实例。...
  • <p>Actor to actor calls have been supported for quite some time, even though it wasn't really all that well advertised. Today, if you want an actor to be able to call another actor, then you need ...
  • <div><p>For example, we have two actor system. When an actor from the system 1 calls method send of an actor from the system 2 the latter actor will be executed in a worker of the system 1 instead of ...
  • Actor model

    2017-05-09 13:44:00
    Actor model
  • Actor模式是一种并发模型,与另一种模型共享内存完全相反,Actor模型share nothing。所有的线程(或进程)通过消息传递的方式进行合作,这些线程(或进程)称为Actor。共享内存更适合单机多核的并发编程,而且共享带来的...
  • Actor Critic算法

    2019-11-16 11:56:18
    结合两个网络:演员网络Policy Gradient (Actor)+ 评判家网络Function Approximation (Critic), 演员Actor 基于概率表演动作行为, 评判家Critic 基于演员Actor 的行为进行评论打分, 演员Actor 根据评判家Critic 的...
  • Actor概念

    2018-07-11 08:30:06
    Actor模型和OO类似, 都是符合人的思维模式进行编码. OO里啥都是类, 用类来模拟对象, 解决所有的问题. Actor类似的使用Actor来模拟处理对象和单元 Actor在Erlang中叫进程(非操作系统进程), 在Skynet中叫svc(服务) ...
  • Scala actor

    2017-11-15 17:53:23
    Akka Actorimport akka.actor.Actor import akka.actor.ActorSystem import akka.actor.Props //定义一个Actor class HelloActor extends Actor { //如果接收到"hello",返回"您好", 如果接收到其它,返回"您是?" ...
  • t you set actor power (the value that is visible in the UI) to 0 in ActorAPI.switch_actor_off? For my solution (custom KettleController, custom Actor), i have to set the value to 0 via some workaround...
  • akka actor

    2018-05-23 15:21:43
    Scala Actor 简介Actor提供了并发程序中与传统的基于锁的结构不同的另一种选择。通过尽可能避免锁和共享状态,Actor使得我们能够更加容易设计出正确、没有死锁或争用状态的程序。Scala类库提供了一个Actor模型的...
  • scala actor

    2019-03-31 18:56:36
    ! 发送异步消息,没有返回值。 !?... 发送同步消息,等待返回值。... actor 例子 Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃 packag...
  • <div><p>One thing annoying me is that we have <code>Actor, and <code>ActorInstance</code>: <ul><li> <p>The <code>.actor()</code> decorator gives a function returning <code>ActorInstance</code> when ...
  • Simplify actor creation

    2020-12-30 09:43:38
    ActorFactory and ActorFactoryArgs to create an actor without and with parameters respectively. <p>This has a few benefits: 1) a standardized way to create an actor instead of relying on naming ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,263
精华内容 6,505
关键字:

actor