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参数指定唤醒的最大任务数。函数的返回值表示实际唤醒的个数。 这就相当于实现了观察者模式。 # 示例