Skip to content
Discussion options

You must be logged in to vote

你好!CSM 中的工作者模式(Worker Mode) 已经实现,并且是一个成熟可用的核心高级特性。你不需要担心它尚未完成。

下面为你详细解释该模式的原理、使用方式以及关键注意事项。

一句话结论

CSM 的工作者模式已经实现并稳定可用,它通过在模块名称后添加 # 来启用,能够让你轻松实现一个模块的并发消息处理。

原理与核心概念

工作者模式基于“生产者-消费者”模型,但进行了更高层次的封装。它的核心思想是将一个逻辑模块(称为 Worker Agent)实例化为多个可同时运行的实体(称为 Worker),这些 Worker 共享一个消息队列。

  • Worker Agent:这是外部调用者眼中的“模块”。你只需与它通信,无需关心内部有多少个 Worker 在干活。
  • Worker:这是实际处理消息的实例。每个 Worker 都是你编写的 CSM 模块 VI 的一个独立运行副本。
  • 消息分发:当消息发送给 Worker Agent 时,框架会自动将消息分配给当前空闲的 Worker 来处理。如果所有 Worker 都忙,消息会暂存在队列中等待。

如何使用

启用工作者模式非常简单,只需在申请模块时,在模块名称末尾加上 # 即可。框架会自动为你创建指定数量的 Worker 实例。

示例:
假设你想创建一个名为 Downloader 的模块,并希望它能并发处理 3 个下载任务。

  1. 申请模块:在初始化代码中,使用名称 Downloader# 并指定实例数量为 3。框架会创建类似于 Downloader#A1B2C3D4Downloader#E5F6G7H8Downloader#I9J0K1L2

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by nevstop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants