Skip to content

Commit

Permalink
Update about-conditional.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Barenboim authored Sep 24, 2024
1 parent 91f679a commit 196e4dd
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions docs/about-conditional.md
Original file line number Diff line number Diff line change
Expand Up @@ -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参数指定唤醒的最大任务数。函数的返回值表示实际唤醒的个数。
这就相当于实现了观察者模式。

# 示例
Expand Down

0 comments on commit 196e4dd

Please sign in to comment.