La version express ne supporte pas OpenMP.
Mais elle supporte complètement .Net.
Version imprimable
La version express ne supporte pas OpenMP.
Mais elle supporte complètement .Net.
La bibliotheque c de microsoft propose la fonction "" pour demarrer un thread qui est une extension de la fonction Win32/64Code:_beginthreadex
seulement un conseil: fais en sorte que le thread se termine uniquement lorsque ta fonction se termineCode:CreateThread
Je profite de ce sujet sur les threads pour poser ma question :
J'ai moi aussi besoin d'utiliser un thread, j'ai utilisé un DevPack de boost sous Code::Block mais je ne sais pas si l'installation de ce DevPack est suffisante ou s'il y a d'autres manips à faire avec bjam ou autre.
Pour la doc d'utilisation je pense pouvoir en trouver facilement sur internet.
[lourd]
On n'utilise jamais "un" thread en multithreading : On répartit son programme sur deux threads ou plus.
Les seuls moment où on utilise un seul thread, c'est dans un programme monothreadé sur un OS qui supporte les threads de manière native (comme Windows), où chaque processus a au moins un thread. Et là, on n'a besoin d'aucune bibliothèque de multithreading.
[/lourd]
D'accord, mais dans ce cas j'ai besoin d'utiliser 2 threads et mon problème est inchangé.
Merci pour ces précisions.
Hélàs, je suis incapable de t'aider: Je n'ai jamais utilisé boost, et je n'ai eu recours au multithreading qu'avec les fonctions de l'API Windows... :(
Il y a le tuto de Miles avec ses magnifiques exemples qui compilent pas.
Tu peux être plus précis stp ?Citation:
Envoyé par loufoque
Code:
1
2
3
4
5
6
7
8
9 int main() { boost::thread_group group; for(unsigned int i = 0; i < 10; ++i) { group->create_thread(&uneFonctionPlusieursThreads); } group->join_all(); }
group n'étant pas un pointeur (ni un smart pointer), on devrait utiliser ., pas ->.
Effectivement, erreur que je vais corriger ce soir...
Quelqu'un peut m'éclairer sur un petit point qui me chicote?
Supposons la situation dans laquelle j'aurais besoin de thread dans mon programme et que je veux utiliser les librairies que boost proposent, comment distribuer un programme sans avoir à inclure la bibliothèque boost au grand complet?
Ben tu lies de manière statique.
Ou mettre juste la bibliothèque liée avec.
Il vaut mieux distribuer la dll : en cas d'upgrade de boost (et dans la mesure ou l'api et l'abi restent compatibles), tu n'auras pas besoin de recompiler ton programme.
Merci
Justement sauf quand le code des interfaces évolue. Je ne te dis pas le beans qu'il y avait eu entre un boost précompilé en 1.32 (dans /usr/lib/) et des en-têtes en 1.33 (dans /project/3rdparty/boost). Va comprendre pourquoi l'exécutable a un comportement chaotique.Citation:
Envoyé par d'Oursse
Il n'y a guère que l'approche (toute bête) employée par COM qui assure de pouvoir mettre à jour des DLL sans risques de conflits dans les symbôles.