RTX5任务的Joinable模式作用
任务设置为Joinable模式后,可以函数osThreadExit 和 osThreadJoin配合一起用,仅此作用,别无他用。
任务里面调用函数osThreadExit 退出任务。并通过函数osThreadJoin最终返回。
__NO_RETURN void worker (void *argument) {
; // work a lot on data[]
osDelay(1000U);
osThreadExit();
}
__NO_RETURN void thread1 (void *argument) {
osThreadAttr_t worker_attr;
osThreadId_t worker_ids;
uint8_t data;
memset(&worker_attr, 0, sizeof(worker_attr));
worker_attr.attr_bits = osThreadJoinable;
worker_ids = osThreadNew(worker, &data, &worker_attr);
worker_ids = osThreadNew(worker, &data, &worker_attr);
worker_ids = osThreadNew(worker, &data, &worker_attr);
worker_ids = osThreadNew(worker, &data, &worker_attr);
osThreadJoin(worker_ids);
osThreadJoin(worker_ids);
osThreadJoin(worker_ids);
osThreadJoin(worker_ids);
osThreadExit();
}
osThreadExit 只能任务退出自己。如果是B任务 结束A任务,如何与osThreadJoin配合使用呢? 清风徐来 发表于 2023-2-21 21:25
osThreadExit 只能任务退出自己。如果是B任务 结束A任务,如何与osThreadJoin配合使用呢?
那没必要用这个模式了,其它方法实现即可。
页:
[1]