2011-01-02 1 views
2

J'ai travaillé sur un projet C++ qui utilise SDL, et je me demande s'il est sûr d'appeler SDL_Delay simultanément à partir de différents threads ou si j'ai besoin d'écrire un wrapper pour sérialiser l'accès à la fonction. Je préfère éviter les frais généraux, car les retards dont j'ai besoin sont très faibles.Le thread SDL_Delay() est-il sécurisé?

Est-ce que quelqu'un a déjà essayé? J'utilise C++ sur OS X et pthreads, et j'ai besoin que le code soit portable.

+0

Vous demandez s'il est compatible avec les threads sur * toutes * les plates-formes sur lesquelles vous souhaitez vous connecter. Bien, probablement, mais s'attendre à ce que nous lisions votre esprit est déraisonnable. –

+0

Le point sur l'utilisation de SDL est ce qui est portable. Sinon, j'utiliserais le SDK et/ou les librairies fournies avec mon OS de prédilection. – cjcela

Répondre

1

Je n'ai aucune expérience directe avec SDL_Delay mais selon: this documentation il n'est pas thread-safe et vous devriez probablement utiliser un wrapper.

+0

Merci. Comme j'utilisais aussi pthreads, j'ai décidé d'utiliser nanosleep() à la place. – cjcela

+0

@cjcela SDL_Delay utilise nanosleep sur unix – Wolf

+2

@Holtorf La dernière mise à jour de cette "documentation" date de 2006. Il ne s'agit pas d'une documentation officielle (ne concerne que le projet OSDL, et non libSDL). La meilleure façon de savoir si quelque chose est thread-safe ou non est de regarder son code source, et SDL_Delay * est * thread-safe. – Wolf

Questions connexes