Для меня есть API для получения некоторых данных, таких как:
int API_func(pointer * data)
возвращаемое значение используется для оценки выполнения функции, и данные будут записаны по адресу указателя;но если что-то не так, API_func может не получить возврат, программа может застрять ,, поэтому мне нужен таймер для вычисления таймера при вызове API_func, и как только время превышает 30 с, мне нужно отправить сигнал в GUI, так какя могу сделать?Я - зеленая рука, поэтому я хочу знать, как работает Мастер? Мой метод :
Thread_1: основной поток, здесь API вызова,
Thread_2: поток по таймеру, включает функцию таймера
когда API вызова Thread_1 отправляет сообщение (FIFO) для активации функции таймера в потоке таймера, если API не может вернуть успешный результат, таймер в Thread_2 будет работать сверхурочно, а затем отправит сообщение в графический интерфейс?
какой метод лучше?большое спасибо!извините, я стекаюсь по стеку, поэтому я не могу выразить то, что имею в виду: поддельный код:
Thread_1:
set_timer_flag_on(FILE *time_flag_1)
API_func()
Thread_2:
if (1==check_timer_flag(FILE *time_flag_1))
{
timer_func(set_over_time);
}