1

coucou,

1/ quel est l'équivalent windowsien de pthread_join?

je crois qu'il y a un truc avec WaitForSingleObject, mais comment on l'utilise?

JE SAIS que je peux trouver la réponse sur google, mais bon, ça servira toujours à qn d'autre.

et de 2/ les threads de windows sont ils des threads userspace ou kernelspace?

2

bah l'équivalent de pthread_join (handle, NULL) c'est pas WaitForSingleObject (handle, INFINITE) ? (c'est même pas "google est ton ami" là, c'est direction msdn)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

hmm plus violent y'a TerminateThread qui me va bien aussi, et l'allocation que je fais, j'ai réussi à la mettre autour grin

donc je suis sûr de terminer proprement, sauf si plantage violent au milieu ^^

et ma 2 e question:
squalyl :
et de 2/ les threads de windows sont ils des threads userspace ou kernelspace?


confus

4

c'est quoi les "threads de windows" ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5

userland sauf si tu fais des trucs precis pour passer en kernelland.

6

3> gol franchement, soit ton post est inutile, soit tu sais de quoi je parle et tu fais le con

skweek > merci beaucoup ! smile

7

squalyl : je ne vois pas non plus ce que tu appelles "Threads de Windows"...
Cela peut être le concept général de multithreading de Windows, ou bien un ensemble de thread spécifiques (Edit: Des threads utilisés par le système, quoi), ou encore les threads du thread pooling...

Sinon, WaitForSingleObject() équivaut à pthread_join() pour la partie "attente", sauf que de multiples threads peuvent attendre le même.
Pour la partie "libération des ressources", les ressources d'un thread sont libérées quand il se termine ET que tous ses handles sont fermés.
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

8

je parlais du fonctionnement de CreateThread() et compagnie, je vois pas ce que ça a de mystique gol

quand je fais CreateThread machin, est ce que c'est un thread schedulé par le kernel de windows, ou alors est ce qu'il y a une sorte de libpthread native qui schedule mes threads sans le noyal?

9

C'est schedulé par le kernel de WinNT, qui gère tout directement au niveau thread.
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

10

donc en contradiction avec ./5

qui a raison? :~

11

En contradiction ou bien il n'avait pas compris ta question...

N'oublie pas que si les threads sont schedulés par le Kernel, il s'exécutent quand même dans l'espace mémoire du processus auquel ils appartiennent, et je pense que c'est ce que voulait dire skweek.

Edit: Tu vois qu'elle était ambigüe, ta question ? En l'occurence, vu le contexte, j'ai eu l'impression que par "threads de Windows" tu parlais de threads spéciaux utilisés par le système...

PS: Si tu utilises les fonctions de la C Run-time library, utilise _beginthreadex() (note le ex) au lieu de CreateThread() : CreateThread() n'initialise pas certaines variables thread-spécific de la CRT...
Et pour terminer prématurément le thread courant, utilise _endthreadex() là où tu utiliserais ExitThread()...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

12

absolument pas

la définition générale d'un thread c'est qu'il s'exécute bien dans le même espace que le processus.

faut pas me prendre pour un con, j'ai jamais vu un thread s'exécuter dans l'espace mémoire du kernel gol

je parlais du SCHEDULING

le reste je le sais.

bon OK ma question était mal posée mais vu la définition d'un thread, vous auriez pu comprendre, aussi.

13

t1 un mec qui demande de l'aide et qui gueule sur ceux qui repondent et post des #gol# jsais pas ce que t'en penses mais selon il merite d'aller plus ou moins se faire foutre tongue

14

faut pas me prendre pour un con, j'ai jamais vu un thread s'exécuter dans l'espace mémoire du kernel gol
Ben les threads de windows ils tournent où à ton avis ? Bien sûr qu'il y a des threads en espace noyau.

15

Donc, toi par contre, tu parles des "threads spéciaux utilisés par le système", c'est bien ça?
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

16

spectras :
Ben les threads de windows ils tournent où à ton avis ?

mmmmh

17

./13 > mais clair, c'est hallucinant là grin. Putain bande de cons vous êtes pas foutus de comprendre mon problème par télépathie pour pouvoir m'expliquer la solution sans que j'aie besoin de faire l'effort de m'exprimer clairement ? gol
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

18

Ah, vous avez raison, ma générosité me perdra.
Je retourne sur développez.com tongue

Edit: Pour le coup des accès concurrents, tu as raison d'utiliser une CRITICAL_SECTION, c'est ce qu'il y a de plus léger et de plus rapide : Les autres (sémaphore, mutex) sont inter-processus, donc inutile de les utiliser si tu n'en as pas besoin...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

19

Link :
Donc, toi par contre, tu parles des "threads spéciaux utilisés par le système", c'est bien ça?

Oui, j'avais failli dire les threads noyaux, mais vu le contexte j'ai préféré reprendre l'expression du topic gni

20

y'en a pas un qui devait se casser de cette communauté pourrie © ?
avatar

21

il vient en cachette de sa copine grin

22

23

beuh fais pas la gueule
avatar

24

topics/84916-acces-concurrents-a-une-variable

celui la est pas mal non plus ^^
avatar
I'm on a boat motherfucker, don't you ever forget

25

franchement t'as vu les réponses roll à celui là... on est dans un forum informatique ou dans un forum sms?

limite on se fout de ma geule, faut pas abuser!

quand vous voyez que je développe une appli normale multithreadée, me demander si je parle de threads qui s'exécutent dans l'espace mémoire du kernel (puisqu'il faut être aussi précis cheeky ) c'est parce que vous faites exprès de pas comprendre, je crois.

26

ben casse toi de cette communauté pourrie
avatar

27

squalyl :
3> gol franchement, soit ton post est inutile, soit tu sais de quoi je parle et tu fais le con

Euh, moi au début quand j'ai parsé ta question je me suis dit que tu parlais des "threads en général", mais comme ça me paraissait un peu bizarre de demander si les "threads en général" sont en userspace ou en kernelspace (je suppose que, comme pour n'importe quel OS, les threads sont dans le même espace que le processus qui les a spawnés [forcément], avec en plus un peu de code kernel pour switcher entre threads [forcément aussi]), je me suis dit que tu parlais peut-être plutôt des "threads dans lequel sont effectués des opérations de windows", genre je sais pas, écrire sur le disque dur, communiquer avec le réseau, etc...

Enfin bref, Nheryvra a très bien résumé :
Nheryvra :
t1 un mec qui demande de l'aide et qui gueule sur ceux qui repondent et post des #gol# jsais pas ce que t'en penses mais selon il merite d'aller plus ou moins se faire foutre tongue



Je sais vraiment pas d'où vient ton aggressivité, si tu as qqch qui te gêne par rapport à yAronet ou si tu es comme ça avec tout le monde, mais dans le premier cas on peut peut-être s'expliquer, et dans le deuxième cas c'est un problème de communication que tu devrais vraiment régler avant que ça te retombe sur la gueule...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

28

j'espère encore partager des trucs en info, mais si vous êtes incapables de partager des infos comme ça (je peux pas croire que personne sache répondre sérieusement) ça risque d'arriver, surtout que ynews ne me fera plus flancher, je sais comment m'en passer maintenant.

(cross) pollux > si tu utilisais ton cerveau au lieu de ton parser, tu interprèterais plus facilement les questions. le bon sens te permettrait de choisir. ma question était peut être mal posée mais elle n'a rien d'extraterrestre.

t'avais pas parsé que je développe une appli?
et qu'est ce que je ou tu peux en avoir a foutre de connaitre les "threads dans lequel sont effectués des opérations de windows"?
quand on s'intéresse un minimum à développer une appli qui gère des threads, le premier truc à savoir c'est que tu partages l'espace mémoire donc le thread est forcément dans l'userspace gol me dis pas que c'est compliqué.

quand t'as fini de capillotracter tu comprends ma question, que j'ai d'ailleurs répétée: je demande quelle sorte de SCHEDULING est utilisée.

t'es la définition de l'obtus.

29

tu as dit où que tu développais une appli, à part dtc ?
comment on sait que tu ne t'intéresses pas aux "threads dans lequel sont effectués des opérations de windows" ?
etc.
(je sais, tu as déjà donné la réponse : soit on lit dans tes pensées, soit on est con)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

30

squalyl
: (cross) pollux > si tu utilisais ton cerveau au lieu de ton parser, tu interprèterais plus facilement les questions. le bon sens te permettrait de choisir. ma question était peut être mal posée mais elle n'a rien d'extraterrestre.

Ben écoute, jusqu'à preuve du contraire, seuls les extraterrestres ont su décrypter ton message, donc ton attaque personnelle est complètement à côté de la plaque... (sans même parler du respect minimum que tu pourrais avoir pour les gens qui essayent de répondre de bonne foi à ta question neutral)

(PS : "to parse" est un anglicisme, mais ça n'a rien à voir avec l'informatique, en tout cas à l'origine :
parse
v. parsed, pars·ing, pars·es
v. tr.
[ul] 1. To break (a sentence) down into its component parts of speech with an explanation of the form, function, and syntactical relationship of each part.
2. To describe (a word) by stating its part of speech, form, and syntactical relationships in a sentence.
3.
[ul] 1. To examine closely or subject to detailed analysis, especially by breaking up into components: “What are we missing by parsing the behavior of chimpanzees into the conventional categories recognized largely from our own behavior?” (Stephen Jay Gould).
2. To make sense of; comprehend: I simply couldn't parse what you just said.[/ul] 4. Computer Science. To analyze or separate (input, for example) into more easily processed components.[/ul]
)
t'avais pas parsé que je développe une appli?

Non, puisque tu ne l'avais pas dit, mais je m'en doutais qd même ^^
et qu'est ce que je ou tu peux en avoir a foutre de connaitre les "threads dans lequel sont effectués des opérations de windows"?

Tu pouvais parfaitement en avoir qqch à foutre, ton appli pouvait avoir besoin de savoir ça parce qu'elle est proche du système, ou bien peut-être que certains indicateurs de performances ne comptent que des threads user et pas des threads noyaux et que tu voulais savoir si ces threads faussaient la mesure de performance de ton application en introduisant des coûts cachés, ou bien peut-être que ça pouvait te poser des pbs pour le débuggage si lesdits threads étaient en espace kernel (si ton débugger ne te permet pas d'aller voir le code noyau), ou bien peut-être que tu étais tout simplement curieux ?
quand on s'intéresse un minimum à développer une appli qui gère des threads, le premier truc à savoir c'est que tu partages l'espace mémoire donc le thread est forcément dans l'userspace gol me dis pas que c'est compliqué.

Ben justement, c'est bien pour ça que je me disais que la question ne portait pas sur les threads créés par toi, mais plutôt sur les threads déjà présents sur le système par exemple... (ou créés indirectement par le système)
t'es la définition de l'obtus.

Alors là tu dépasses les bornes. J'ai fait abstraction de ton premier post insultant, en me disant que tu avais p-ê cru que j'étais de mauvaise foi. J'ai expliqué *pourquoi* j'étais de bonne foi, et je me suis donné la peine de t'expliquer comment j'avais compris ta question. Mais si même après ça tu te mets à m'insulter, tu es complètement inexcusable... Bonne chance dans la vie, le jour où tu te ramasseras des baffes parce que tu t'es foutu de la gueule du monde tu t'étonneras pas neutral

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)