Я не могу найти ссылку на выполнение чего-то, что должно быть действительно базовым: я хотел бы иметь метод, называемый «вечно» в основном цикле интерфейса. Я был бы счастлив как с возможностью вызова моего метода, синхронизированного с частотой обновления пользовательского интерфейса, либо путем передачи пользовательской временной гранулярности, поскольку мне не нужно, чтобы это происходило чаще, чем каждые 50-100 мс. Оба ответа для C++ (Carbon) и Objective C прекрасны, хотя я в конечном итоге буду использовать его в чистом приложении C++. Если бы вы могли предложить также, как удалить этот таймер, было бы здорово.Запуск цикла в основной теме в osx и ios
Пожалуйста, проверьте комментарии для дальнейшего объяснения сценария потоков, где я хочу использовать это.
что-то вроде
class MySyncedClass {
void start() {
// start calling "execute" member function on main loop every N ms
}
void stop() {
// stop calling "execute"
}
void execute() {
// do something
}
};
почему ты сделал это? – peko
каждый раз, когда вызывается execute(), он проверяет состояние другого потока и запускает запрошенный пользователем обратный вызов, который я хочу убедиться, что он находится в основном потоке, чтобы сделать код пользователя более простым для записи и однопоточным. Кроме того, вы можете представить себе другие методы doSomething, которые будут инициироваться пользовательским кодом пользовательского интерфейса, и я хочу убедиться, что оба этих метода и внутренние вычисления, запланированные execute(), происходят в одном потоке. имеет смысл? –