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

  FORUM HardWare.fr
  Programmation
  C

  pthread: modele cooperatif

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pthread: modele cooperatif

n°1258036
thierry_b
Posté le 03-12-2005 à 12:55:57  profilanswer
 

Bonjour,
 
Je voulais vous poser une question à propos des pthreads.
 
Je voulais avoir la confoirmation qu'ils fonctionnent en coopératif cad que si par exemple, on lance plusieurs threads, il en choisira un des deux en premier (euh je c pas s'il commencera forcement par le 1er ou s'il peut commencer par le second...) et ensuite, chaque thread ne peut etre interrompu par un autre thread, que si celui-ci redonne la main manuellement à l'ordonnanceur.
 
Donc en gros, ca veut bien dire que si aucun thread, ne veut redonner la main à lo'rdonnanceur,  
 
on aura comme execution possible:
soit t1 t2 ou
soit t2 t1.
 
Est-ce que j'ai bien compris?
 
Merci
A+

mood
Publicité
Posté le 03-12-2005 à 12:55:57  profilanswer
 

n°1258098
Emmanuel D​elahaye
C is a sharp tool
Posté le 03-12-2005 à 14:52:19  profilanswer
 

thierry_b a écrit :

Je voulais avoir la confoirmation qu'ils fonctionnent en coopératif


[rien à voir avec le langage C...]
 
Oui. Un thread avec une boucle 'blanche' prend 100% du temps alloué au processus qui l'a crée. La coopération se fait par attente ou par suspension.
 


---------------
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°1258118
bjone
Insert booze to continue
Posté le 03-12-2005 à 15:52:30  profilanswer
 

gni j'ai loupé un truc là...
t'as de la doc, passke je comprends par pourquoi les threads ne seraient pas preemptivés :??:

n°1258281
matafan
Posté le 04-12-2005 à 00:04:02  profilanswer
 

Ca dépend de l'OS. Et pour un OS donné, ça dépend de la politique choisie pour le dispatcher. Mais sur la pluspart des OS, par défaut, le thread sera undispatché à un moment donné si d'autres threads ont besoin du CPU, même si ton thread ne "rend pas la main".
 
En général tu peux, au niveau du thread, choisir la façon dont le kernel dispatchera ton thread. Donc si tu as les droits suffisant, tu peux programmatiquement choisir un mode et une priorité qui feront qu'effectivement, le kernel ne te retirera pas le CPU tant que ton thread ne sera pas suspendu (attente d'IO par exemple) et tant que tu ne relache pas le CPU manuellement (yield).


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

  pthread: modele cooperatif

 

Sujets relatifs
pb résolu: utiliser un modéle pour faire plusieurs copiesLivre d'or - "modèle" bien précis ;)
Quels sont les SGBD supportant le modèle objet??? css et modèle font pas bon ménage... [Résolu]
suivre un modele outlook?Création de doc ou pdf à partir d'un modele...
Optimisation d’un modèle (objet) 3D (Diminution du nombre de face)Cryptage d'ip ULTRA FACILE (j'ai le modele) [pétard mouillé inside]
Quel modèle objet pour un "client-serveur asynchrone" ?validation modèle relationnel
Plus de sujets relatifs à : pthread: modele cooperatif


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