主要观点:介绍了ractor相关的一些内容,包括消息发送方式、安装、第一个actor示例、添加状态以及相关宏的使用等。
关键信息:
- 消息发送方式有先遗忘和等待回复两种,分别对应“cast”和“call”命名方案。
- 安装
ractor需在Cargo.toml中添加ractor = "0.13"依赖。 - 第一个actor示例包括定义消息枚举
MyFirstActorMessage、基本的actor定义MyFirstActor以及消息处理函数handle。 - 添加状态后,actor可维护内部状态,如打印“Hello world”的次数,并通过新的消息类型
HowManyHelloWorlds获取状态。 - 提供了三个用于actor消息传递的宏:
cast!(非阻塞发送消息)、call!(构建消息无需提供lambda函数)、call_t!(带超时的call!)。
重要细节: - 在
pre_start函数中可定义actor的启动逻辑和初始状态。 handle函数会处理接收到的消息,根据不同消息类型进行相应操作。call_t!宏用于发送带有超时的RPC调用,获取actor的回复。- 在示例代码中通过
for循环发送消息并处理,最后进行清理操作。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。