Является ли SDL_Delay() потокобезопасным?

Я работаю над проектом C++, который использует SDL, и мне интересно, безопасно ли вызывать SDL_Delay одновременно из разных потоков или мне нужно написать оболочку для сериализации доступа к функции. Я предпочитаю избегать накладных расходов, так как задержки, которые мне нужны, очень малы.

Кто-нибудь пробовал это?

Я использую С++ в OS X и pthreads, и мне нужен переносимый код.


person cjcela    schedule 02.01.2011    source источник
comment
Вы спрашиваете, является ли он потокобезопасным на всех платформах, на которые вы собираетесь портировать. Что ж, возможно, но ожидать, что мы прочитаем ваши мысли, неразумно.   -  person Hans Passant    schedule 02.01.2011
comment
Смысл использования SDL в том, что он является переносимым. В противном случае я бы использовал SDK и/или библиотеки, поставляемые с выбранной мной ОС.   -  person cjcela    schedule 11.02.2011


Ответы (1)


У меня нет прямого опыта работы с SDL_Delay, но согласно: этой документации это не потокобезопасно, и вам, вероятно, следует использовать оболочку.

person Holtorf    schedule 02.01.2011
comment
Спасибо. Поскольку я также использовал pthreads, я решил вместо этого использовать nanosleep(). - person cjcela; 02.01.2011
comment
@Holtorf Последнее обновление этой документации было в 2006 году. Это не официальная документация (если только для проекта OSDL, а не libSDL). Лучший способ узнать, является ли что-то потокобезопасным или нет, — это посмотреть на его исходный код, а SDL_Delay является потокобезопасным. - person Signal; 23.01.2012