Bonjour à tous.

Je n'avais pas fait de gros projet C++ depuis un bout de temps et je me trouve un peu largué. Il se trouve que j'ai besoin de développer une petite biblio pour iOS, Android, Windows, Mac et Linux. Celle-ci sera consommée par divers front-ends écrits dans d'autres langages.

J'ai d'abord besoin pour les plateformes mentionnées de threads, mutexes et condition variables. J'ai évidemment pensé aux pthreads mais il semble que pour Windows il faille déjà passer par une implémentation tierce-partie (si j'ai bien saisi, Windows XP n'inclue pas d'implémentation standard des pthreads) et je me demande si j'aurai plus de succès sur les autres plateformes. A défaut, boost supporte t-il les plateformes mentionnées ? Je n'ai pas pu trouver de réponse claire. Dernière alternative, trouve t-on déjà des implémentation des nouvelles biblios standard (c++ 11) pour ces plateformes ou a t-on une idée de leurs dates d'arrivées ? Enfin, quid des performances : avec la solution que vous me recommanderez, suis-je par exemple assuré dans tous les cas qu'un mutex s'appuiera bien sur les primitives du système et sera pas implémenté comme un spin lock sur certaines ?

Dernière question relative aux instructions atomiques (incrémentation, décrémentation, compare-and-swap 32 et 64 bits) sur d'autres processeurs que x86 : existent-elles aujourd'hui sur tous les processeurs grand publics (et notamment architectures ARM) ou pas ? Si oui existe t-il des intrinsèques communs et bien supportés (je pense à gcc mais je suis ouvert à toute proposition) ?

Merci d'avance pour toute l'aide que vous pourrez m'apporter afin d'éclaircir mes idées bien embrouillées.


EDIT: Dans le même genre, si vous avez une recommandation côté réseaux (téléchargement asynchrone d'un fichier via ftp ou http) pour ces mêmes plateformes, je suis preneur.