mirror of
https://github.com/sogou/workflow.git
synced 2026-02-08 01:33:17 +08:00
Update about-conditional.md
This commit is contained in:
@@ -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参数指定唤醒的最大任务数。函数的返回值表示实际唤醒的个数。
|
||||
这就相当于实现了观察者模式。
|
||||
|
||||
# 示例
|
||||
|
||||
Reference in New Issue
Block a user