Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1670 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Thread sous windows...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Thread sous windows...

n°1465354
big_dadi_f​at
Posté le 26-10-2006 à 11:43:56  profilanswer
 

Bonjours.
J'étai entrai de lire ce tuto, sur l'utilisation de thread en C.
Mais je croyer que les fonction du tuto que je lisais ( http://mapage.noos.fr/emdel/pthreads.htm ) étais standard. Mais ce n'ai pas le cas je croi, puisque je les utilise sous windows et ca ne marche pas.
Donc en cherchant sur google j'ai trouvé des fonction sur les thread sous windows, comme par exemple CreateThread() au lieux de pthread_create() ...
Mais quand j'execute ce code:

Code :
  1. #include <stdio.h>
  2. #include <windows.h>
  3. static void *task_a (void *p_data)
  4. {
  5.    int i;
  6.    for (i = 0; i < 3; i++)
  7.    {
  8.       printf ("Hello world A --- (%d)\n", i);
  9.    }
  10.    (void) p_data;
  11.    return NULL;
  12. }
  13. static void *task_b (void *p_data)
  14. {
  15.    int i;
  16.    for (i = 0; i < 19; i++)
  17.    {
  18.       printf ("Hello world B --------- (%d)\n", i);
  19.    }
  20.    (void) p_data;
  21.    return NULL;
  22. }
  23. int main (void)
  24. {
  25.    HANDLE ta;
  26.    HANDLE tb;
  27.    puts ("main init" );
  28.    tb = CreateThread(NULL,0,(void*)task_b,NULL,0,0);
  29.    ta = CreateThread(NULL,0,(void*)task_a,NULL,0,0);
  30.     /*
  31.    SuspendThread(ta);
  32.    SuspendThread(tb);
  33.    ResumeThread(ta);
  34.    ResumeThread(tb);
  35.     */
  36.    puts ("main end" );
  37.    system("pause" );
  38.    return 0;
  39. }


j'ai un "main init" qui s'afiche ensuite un "main end" , et aprés, j'ai les hello world.....
Je croi que dans le tuto il on utilisé la fonction pthread_join() qui permet de suspendre l'exécution de la tâche courante en attendant la fin d'une tâche déterminée.
Mais je ne trouve pas l'equivalan de cette fonction sous windows...
j'ai trouvé , SuspendThread(ta) mais elle suspand carément la tache et il fait le refair marché avec ResumeThread(ta) ........
 
Merci pour votre aide.
 

mood
Publicité
Posté le 26-10-2006 à 11:43:56  profilanswer
 

n°1465360
_darkalt3_
Proctopathe
Posté le 26-10-2006 à 11:52:09  profilanswer
 

big_dadi_fat a écrit :

Mais je croyer que les fonction du tuto que je lisais ( http://mapage.noos.fr/emdel/pthreads.htm ) étais standard. Mais ce n'ai pas le cas je croi, puisque je les utilise sous windows et ca ne marche pas.


Maladroit !
 

big_dadi_fat a écrit :

Donc en cherchant sur google j'ai trouvé des fonction sur les thread sous windows, comme par exemple CreateThread() au lieux de pthread_create() ...


Win32. Donc non standard.
 

big_dadi_fat a écrit :

Mais je ne trouve pas l'equivalan de cette fonction sous windows...


WaitForSingleObject


---------------
Töp of the plöp
n°1465361
vapeur_coc​honne
Stig de Loisir
Posté le 26-10-2006 à 11:54:08  profilanswer
 

[:drapo] [:meganne]
t'a essayé le turbo pascal ?


Message édité par vapeur_cochonne le 26-10-2006 à 11:54:15

---------------
marilou repose sous la neige
n°1465366
big_dadi_f​at
Posté le 26-10-2006 à 11:59:17  profilanswer
 

_darkalt3_ a écrit :

Win32. Donc non standard.


Oui, en fait mnt j'ai utilisé des fontion Win32 non portable, donc c'est pas grave..
 

_darkalt3_ a écrit :

WaitForSingleObject


Merci.


Message édité par big_dadi_fat le 26-10-2006 à 12:02:44
n°1465398
bb138
La vie est belle ...
Posté le 26-10-2006 à 13:03:01  profilanswer
 

C'est dommage... les pthread sont pourtant biens :) (avis tout à fait personnel).
cf. : http://sourceware.org/pthreads-win32/conformance.html pour la liste des fonctions implémentées ou non (et quelques cas particuliers)


Message édité par bb138 le 26-10-2006 à 17:23:19
n°1465413
Emmanuel D​elahaye
C is a sharp tool
Posté le 26-10-2006 à 13:25:25  profilanswer
 

big_dadi_fat a écrit :

J'étai entrai de lire ce tuto, sur l'utilisation de thread en C.
Mais je croyer que les fonction du tuto que je lisais ( http://mapage.noos.fr/emdel/pthreads.htm ) étais standard.


 
Non. Elles ont standard POSIX.1, donc portables sur beaucoup de plateformes dont Windows.
 
http://sourceware.org/pthreads-win32/

Citation :

Mais ce n'ai pas le cas je croi, puisque je les utilise sous windows et ca ne marche pas.


Ben si, ca marche ... si tu installes la bibliothèque qui va bien... C'est pas expliqué sur mon site ?

Citation :

Donc en cherchant sur google j'ai trouvé des fonction sur les thread sous windows, comme par exemple CreateThread() au lieux de pthread_create() ...


Oui, l'API Win32 fournit des fonctions strictement Windows pour faire des threads. Si tu passes sous Linux, il te faudra tout réapprendre. Avec le pthreads, c'est le même code sur toutes les plateformes. C'est toi qui voit...

Citation :

Mais quand j'execute ce code:


Là, je ne peux rien pour toi. Les spécialistes de Windows sont http://www.developpez.net/forums/forumdisplay.php?f=16 :


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1465484
big_dadi_f​at
Posté le 26-10-2006 à 15:07:48  profilanswer
 

Emmanuel Delahaye a écrit :

Oui, l'API Win32 fournit des fonctions strictement Windows pour faire des threads. Si tu passes sous Linux, il te faudra tout réapprendre. Avec le pthreads, c'est le même code sur toutes les plateformes. C'est toi qui voit...


Ok je croi que je vais apprendre le pthreads, c'est mieux. Mais où esque je peut telechargé la lib libpthread.a svp ?
 

n°1465548
Emmanuel D​elahaye
C is a sharp tool
Posté le 26-10-2006 à 16:22:38  profilanswer
 

big_dadi_fat a écrit :

Ok je croi que je vais apprendre le pthreads, c'est mieux. Mais où esque je peut telechargé la lib libpthread.a svp ?


Je ne t'ai pas donné un lien ? Faudrait peut être lire les réponses en entier...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1466822
marctes
Posté le 29-10-2006 à 12:28:00  profilanswer
 

Emmanuel Delahaye a écrit :


Là, je ne peux rien pour toi. Les spécialistes de Windows sont


 
Si on a moins de 15 ans...
Les pros  (consultants, freelances > 20 ans XP) sont sur les NG, pas les forums webs heureusement...

n°1466823
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 29-10-2006 à 12:30:59  profilanswer
 

marctes a écrit :


Les pros  (consultants, freelances > 20 ans XP) sont sur les NG, pas les forums webs heureusement...


Ce qui explique certainement le fait que tu fréquentes régulièrement ce forum [:icon12]


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 29-10-2006 à 12:30:59  profilanswer
 

n°1466841
big_dadi_f​at
Posté le 29-10-2006 à 13:12:39  profilanswer
 

Harkonnen a écrit :

Ce qui explique certainement le fait que tu fréquentes régulièrement ce forum [:icon12]


mdr.
dit, comment on fait pour regoindre un NG ?  :p  (oui oui, je sais, je suis une tete de mul).
 

n°1466856
Emmanuel D​elahaye
C is a sharp tool
Posté le 29-10-2006 à 13:38:52  profilanswer
 

marctes a écrit :

Si on a moins de 15 ans...
Les pros  (consultants, freelances > 20 ans XP) sont sur les NG, pas les forums webs heureusement...


Désolé de te dire que c'est vraiment un raisonnement idiot... (une forme de racisme en fait. Il y a des lois contre ça en France...)
 
Quel rapport entre le contenu et le contenant ? Personnellement, j'ai beaucoup fréquenté Usenet, mais je trouve les forums web plus pratiques.
 
(j'ai 50 ans, dont 17 ans dans l'informatique et une carrière de formateur/consultant qui démarre).


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1466866
Emmanuel D​elahaye
C is a sharp tool
Posté le 29-10-2006 à 13:45:08  profilanswer
 

big_dadi_fat a écrit :

mdr.
dit, comment on fait pour regoindre un NG ?  :p  (oui oui, je sais, je suis une tete de mul).


Soit avec Google groups
 
Par exemple :  
 
http://groups.google.fr/group/comp.lang.c
http://groups.google.fr/group/fr.comp.lang.c
 
soit en t'abonnant à un 'news feeder'. Dans ce cas, il faut souvent un login/mot de passe. Voir déjà avec ton FAI...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1466882
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 29-10-2006 à 14:04:35  profilanswer
 

Emmanuel Delahaye a écrit :

Désolé de te dire que c'est vraiment un raisonnement idiot... (une forme de racisme en fait. Il y a des lois contre ça en France...)
 
Quel rapport entre le contenu et le contenant ? Personnellement, j'ai beaucoup fréquenté Usenet, mais je trouve les forums web plus pratiques.
 
(j'ai 50 ans, dont 17 ans dans l'informatique et une carrière de formateur/consultant qui démarre).


Nan mais laisse tomber, l'ami marctes est un spécialiste de ce genre de post ! D'ailleurs il ne sait que poster la même chose : des liens vers les NG. Depuis qu'il est inscrit, je ne l'ai jamais vu apporter la moindre réponse concrète à un topic, tout ce qu'il sait faire c'est crier à tout bout de champ que les NG c'est mieux, les forums c'est pourri, et tout.
Mon avis perso : c'est un type qui est incapable de coder un hello world en C, et le fait de clamer à cor et à cri que les NG c'est mieux lui permet de réhausser son égo de programmeur (l'est il vraiment ?) ou d'imposteur (n'en serait il pas un ?)


---------------
J'ai un string dans l'array (Paris Hilton)
n°1466887
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 29-10-2006 à 14:06:19  profilanswer
 

D'ailleurs, voici une de ses plus mémorables interventions :D
http://forum.hardware.fr/hardwaref [...] m#t1407724


---------------
J'ai un string dans l'array (Paris Hilton)
n°1466970
big_dadi_f​at
Posté le 29-10-2006 à 16:01:22  profilanswer
 

Harkonnen a écrit :

D'ailleurs, voici une de ses plus mémorables interventions :D
http://forum.hardware.fr/hardwaref [...] m#t1407724


 

Citation :

Si tu veux vraiment comprendre ce que tu fais , rien de mieux que C, C++ et ASM et Win32 API (les meilleurs programmeurs de la planète maitrisent ça)
Pour les gosses cliqueurs fous qui ne comprennent rien à ce qu'ils font, .NET est là pour ça.


 
 :lol:  MdR
 
 

n°1470930
SylvainX
Posté le 05-11-2006 à 20:49:46  profilanswer
 

Emmanuel Delahaye a écrit :

D鳯l頤e te dire que c'est vraiment un raisonnement idiot... (une forme de racisme en fait. Il y a des lois contre 硠en France...)


 
 
Non, c'est exact et c'est une évidence.
Les momes ne connaissent même pas l'existence de Usenet
Les meilleurs freelances et pros experimentes y sont depuis les BBS (marctes en est un des piliers : il facture je crois encore à près de 2000 euros HT/J...)
La difference de niveau est colossale...

Message cité 2 fois
Message édité par SylvainX le 05-11-2006 à 20:51:15
n°1470943
++fab
victime du syndrome IH
Posté le 05-11-2006 à 21:45:14  profilanswer
 

Emmanuel Delahaye a écrit :

Personnellement, j'ai beaucoup fréquenté Usenet, mais je trouve les forums web plus pratiques.


Ne me dit pas que c'est plus facile de quoter sur un forum web quand même !

n°1470944
_darkalt3_
Proctopathe
Posté le 05-11-2006 à 21:49:45  profilanswer
 

SylvainX a écrit :

Non, c'est exact et c'est une évidence.
Les momes ne connaissent même pas l'existence de Usenet
Les meilleurs freelances et pros experimentes y sont depuis les BBS (marctes en est un des piliers : il facture je crois encore à  près de 2000 euros HT/J...)
La difference de niveau est colossale...


 
Ah oui, c'est vrai, on mesure la compétence de quelqu'un en fonction du tarif qu'il demande ...   :sarcastic:  
Ca vaut combien dans un cv "je fréquente usenet et j'ai un passif bbs" ?


---------------
Töp of the plöp
n°1470989
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-11-2006 à 07:28:22  profilanswer
 

SylvainX a écrit :


Les meilleurs freelances et pros experimentes y sont depuis les BBS (marctes en est un des piliers : il facture je crois encore à  près de 2000 euros HT/J...)


tu sais, le milieu de l'informatique est rempli de margoulins qui facturent à prix d'or des prestas de merde hein, il suffit de voir le code de certains sites webs pour s'en rendre compte [:icon12]
Quant à marctes, j'attends toujours de voir de lui une vraie réponse ici plutot que des critiques incessantes.. tout comme pour toi d'ailleurs ! Parce que pour l'instant, pour moi vous n'êtes que des petits marioles ne sachant que critiquer et à l'égo surdimensionné.
 

SylvainX a écrit :


La difference de niveau est colossale...


y'a un truc que je voudrais comprendre : vu qu'apparemment toi et ton pote êtes des supers cadors de la mort, pourquoi vous restez pas sur les NG au lieu de trainer vos guetres sur des forums webs au niveau si bas ? pas pour y apporter vos contributions en tout cas !
ou alors peut etre que marctes vient ici chercher les réponses qu'il facture ensuite 2000 €/j ? [:icon12]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1474010
tbp
Posté le 11-11-2006 à 20:59:36  profilanswer
 

Je profite de l'occasion pour faire une remarque à 2000 roupies non déductible pour dire que les threads win32 (et la sémantique des IPC en général) c'est de la merde, que les pthreads c'est de la merde mais que les pthreads émulées sur win32 c'est doublement de la merde.

n°1474024
Emmanuel D​elahaye
C is a sharp tool
Posté le 11-11-2006 à 22:03:30  profilanswer
 

tbp a écrit :

Je profite de l'occasion pour faire une remarque à 2000 roupies non déductible pour dire que les threads win32 (et la sémantique des IPC en général) c'est de la merde, que les pthreads c'est de la merde mais que les pthreads émulées sur win32 c'est doublement de la merde.


Ca marche très bien les pthreads. Tu peux donner des raisons ou c'était juste une éructation pré-pubère ?
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1474091
tbp
Posté le 12-11-2006 à 06:26:23  profilanswer
 

Emmanuel Delahaye a écrit :

Ca marche très bien les pthreads. Tu peux donner des raisons ou c'était juste une éructation pré-pubère ?


 
Emu par ton argumentation, je m'empresse de répondre avec le témoignage d'un autre adolescent qui, avec la même technicité, disait

Citation :

Alan cox, http://lwn.net/2000/0330/a/alan.html
"Posix threads is a braindamaged pile of crap"


 
J'aurais pu également citer le barbu finlandais sur le sujet, mais à quoi bon.
Que l'on n'ait d'autre choix que les pthreads sur une plateforme, passe encore. Mais qu'on les conseille là ou elles ne sont pas natives, c'est vraiment se tirer sur la nouille.
 
note: c'est vraiment la zone de se reveiller à 6h du mat un dimanche.
 

n°1474098
Emmanuel D​elahaye
C is a sharp tool
Posté le 12-11-2006 à 08:24:10  profilanswer
 

tbp a écrit :

Emu par ton argumentation, je m'empresse de répondre avec le témoignage d'un autre adolescent qui, avec la même technicité, disait

Citation :

Alan cox, http://lwn.net/2000/0330/a/alan.html
"Posix threads is a braindamaged pile of crap"




OK, j'ai lu cette discussion, et il en ressort, et c'est pas nouveau, que la portabilité a un coût, c'est tout.  

Citation :


Subject Re: Slow pthread_create() under high load
Date Sun, 26 Mar 2000 15:46:15 +0100 (BST)
From Alan Cox <>
 
>    Alan, if POSIX threads are a "braindamaged pile of crap" (not arguing
> but I do use threads quite heavily) what would you rather us use as
> threads in Linux? Or are you not happy with any current implementation?
 
If you want performance use clone() directly. If you want portability
you have to pay for the glue. Ulrich is right that at the moment said glue
involves jumping through a few too many hoops


Il ne faut pas répéter bêtement ce que disent les gourous sans chercher à comprendre.
 
Quand a Windows, qui a des threads natifs, la perte en ligne apportée par les pthreads est faible (en tout cas plus faible que sous Linux), et le gain de productivité est grand. Le choix est donc tout à fait justifié.

Message cité 1 fois
Message édité par Emmanuel Delahaye le 12-11-2006 à 08:26:59

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1474101
tbp
Posté le 12-11-2006 à 09:02:17  profilanswer
 

Emmanuel Delahaye a écrit :

Il ne faut pas répéter bêtement ce que disent les gourous sans chercher à comprendre.


La discussion gagnerait à ce que, ne serait qu'un instant, du haut de ta condescendance, tu consideres l'éventualité que j'ai utilisé à la fois les pthreads et la panoplie win32 pour autre chose que des "hello world". Mais ce n'est pas vital, donc...
 
Si le problème avec les pthreads se limitait à la création des threads ce serait là un moindre mal. Non, le truc c'est que la norme est trop peu contraignante, c.f. http://www.opengroup.org/onlinepub [...] dcast.html et les spurious wakeups. Personellement, j'adore.
 

Emmanuel Delahaye a écrit :

Quand a Windows, qui a des threads natifs, la perte en ligne apportée par les pthreads est faible (en tout cas plus faible que sous Linux), et le gain de productivité est grand. Le choix est donc tout à fait justifié.


Ben voyons. Les semantiques n'ont rien à voir, mais ça ne mange pas de pain d'affirmer que c'est la quantité négligeable, hein.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Thread sous windows...

 

Sujets relatifs
fichier bat ne fonctionne pas dans les taches planifiées de WindowsErreur Java sous Windows
thread sous windows[Résolu][Windows]Kill thread Python
programmation windows -> fenetre et thread[windows thread/processes] Le Sleep sous windows n'est pas précis.
[Windows] thread comment les créer, les lancer simultanément ???[Resolu] [C++ / thread / windows] Demarrer une methode en Thread ?
[Java] Exception in thread "main" sous Windows et pas sous linux ???[Windows] Info sur thread ?
Plus de sujets relatifs à : Thread sous windows...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR