Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 1
1

Нужен аналог функции nanosleep или uSleep, которые есть на Linux, в Windows

15.04.2015, 22:17. Показов 2165. Ответов 2
Метки нет (Все метки)

Успешно создал программу для работы со звуком, она работает с высокоточным таймером.
Используется бесконечный цикл, в нём идёт проверка счётчика тактов процессора для вычисления интервалов времени. Всё работает отлично, но процессор загружен на 25% (полностью 1 ядро из 4). Было выяснено, что проблема может быть решена 1 строчкой кода, и эта строчка кода работает в Linux, но я не нашёл рабочего аналога в Windows:

nanosleep(1000); //Приостанавливает работу на 1/1000000 секунду.

или

uSleep(1); //Приостанавливает работу также на 1/1000000 секунду.


Где найти аналогичную функцию в Windows?

Примечание: Функция Sleep не подходит, мал минимальный интервал.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2015, 22:17
Ответы с готовыми решениями:

Есть ли DataGridView в Mono под Linux или аналог?
Есть ли datagridview в mono под linux или аналог?

Есть ли аналог winapi функции showWindow в Linux?
Есть ли аналог winapi функции showWindow в Linux? Заранее спасибо.

Есть ли в С аналог функции explode(или split)?
Есть ли в С аналог или сама функция explode или split, которая позволяет разбить строку на...

Вопрос по boost или Qt: нужен аналог функции WinApi GetModuleFileName()
Цель: нужна функция, работающая на платформах *nix и win, которая бы определяла местоположение...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
Модератор
Эксперт по электронике
8380 / 6225 / 836
Регистрация: 14.02.2011
Сообщений: 21,605
15.04.2015, 22:24 2
Цитата Сообщение от noname665 Посмотреть сообщение
Используется бесконечный цикл,
Не самый лучший путь
Цитата Сообщение от noname665 Посмотреть сообщение
Функция Sleep не подходит, мал минимальный интервал.
Sleep работает от железного таймера, который остался в наследство от IBM XT с дискретностью 18.2 Гц
попробуй задействовать мультимедийный таймер
0
Заблокирован
Автор FAQ
16.04.2015, 07:35 3
https://msdn.microsoft.com/en-... s.85).aspx только таймер прийдётся переустанавливать на каждом wake
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2015, 07:35

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Кроссплатформенный аналог Windows API функции ClipCursor(). Есть ли?
Пишу на с++, freeglut, openGL. Создаю glut-окно, создаю вьюпорт чтобы при растяжении окна glOrtho...

Функция nanosleep в ядре Linux
#include <errno.h> #include <mach.h> #include <sys/time.h> #include <unistd.h> int...

Нужен совет. С++ курсовая с графикой в Linux или в Windows MSVS?
Добрый день. Необходимо сделать небольшой проект, который соответствовал требованиям. Для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.