Проблема при планировании задач с помощью функции clock ()
Я хотел бы планировать задачи на разные промежутки времени: через 0,1 с, 0,9 с ... 2 с и т. Д. Я использую функцию clock () C ++, которая возвращает количество тиков с начала симуляции, и я конвертирую количество тиков в секунды, используя CLOCKS_PER_SEC, но я заметил, что задача не запланирована, когда момент является плавающим, но когда это целое число, которое оно делает. Вот часть кода, ответственная за планирование:
float goal = (float) clock() / CLOCKS_PER_SEC + 0.4 ; // initially (float) clock() / CLOCKS_PER_SEC = 0 ;
if ((float) clock() / CLOCKS_PER_SEC == goal)
do stuff ;
В этом случае это не работает, но когда я планирую выполнить задачу, например, за 3 секунды, она работает. Это проблема точности?