【C语言】一种状态超时阻塞循环查询的办法 文章目录 【C语言】一种状态超时阻塞循环查询的办法1.方法12.方法2 1.方法1 static void wait_notify_async(notify_type_t notify_type) {static rt_tick_t exit_tick;exit_tick = rt_time_get_msec();lb_int32 notify_success = RT_FALSE;static int timeout;CHKPNT;while (notify_success == RT_FALSE) {switch (notify_type) {case ADAS_EXITED:if (algorithm_status.adas_status == 2)notify_success = RT_TRUE;break;case BSD_EXITED:if (algorithm_status.bsd_status == 2)notify_success = RT_TRUE;break;case DMS_EXITED:if (algorithm_status.bsd_status == 2)notify_success = RT_TRUE;break;case RECORD_EXITED://CHKPNT;if (record_status == 2)notify_success = RT_TRUE;break;case TAKE_PICTURE_STATUS:if (take_picure_status > 0)notify_success = RT_TRUE;break;default:break;}timeout = rt_time_get_msec() - exit_tick;if (timeout >= 10 * 1000)break;rt_thread_mdelay(10