reb
reb copied to clipboard
REB(全称:Event Broker),事件代理,解决模块之间耦合问题
 这里快速发送数据是不是有问题,为什么是get消息
你好,我在使用freertos进行移植测试,对于代码中创建的obs_task触发执行有些疑问; 疑问点1: obs_task = observer_task_create(1, REB_ALL_MINOR_TYPE, obs_task_fun, NULL, 1024, 15); broker_observer_attach_once(obs_task); 该方法的原理是内部创建一个任务,通过任务来执行obs_task_fun通知观察者; 当obs_task_run执行完成后,该任务就直接返回了,也没有调用任务删除的函数,会有内存泄漏的风险; 由于rt-thread我使用不多,如果不主动调用任务删除函数,不确定是否会自动将该任务的内存回收; 疑问点2: 如果将obs_task修改为多次触发,如下代码 broker_observer_attach(obs_task); 发现只能触发一次; 如果将内部的任务函数添加obs->task=NULL语句,可多次执行(同样需调用任务删除函数); 疑问点3: 请问任务模式观察者的使用场景是哪些?