From 196e4dd8abec25ac45d59e690f7144ebb958c913 Mon Sep 17 00:00:00 2001 From: xiehan <52160700+Barenboim@users.noreply.github.com> Date: Wed, 25 Sep 2024 00:28:34 +0800 Subject: [PATCH] Update about-conditional.md --- docs/about-conditional.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/about-conditional.md b/docs/about-conditional.md index f354c22875..8433c675f7 100644 --- a/docs/about-conditional.md +++ b/docs/about-conditional.md @@ -56,12 +56,13 @@ class WFTaskFactory public: static WFConditional *create_conditional(const std::string& cond_name, SubTask *task); static WFConditional *create_conditional(const std::string& cond_name, SubTask *task, void **msgbuf); - static void signal_by_name(const std::string& cond_name, void *msg); - static void signal_by_name(const std::string& cond_name, void *msg, size_t max); + static int signal_by_name(const std::string& cond_name, void *msg); + static int signal_by_name(const std::string& cond_name, void *msg, size_t max); }; ~~~ 我们看到,与普通条件任务唯一区别是,命名条件任务创建时,需要传入一个cond_name。 -而signal_by_name()接口,将msg发送到所有在这个名称上等待的条件任务,可以将它们全部唤醒,或者指定唤醒的最大任务数。 +而signal_by_name()接口,默认将msg发送到所有在这个名称上等待的条件任务,将它们全部唤醒。 +也可以通过max参数指定唤醒的最大任务数。函数的返回值表示实际唤醒的个数。 这就相当于实现了观察者模式。 # 示例