Bonjour,
J'ai une application du type MTMDI (exemple MSN) qui se fige sur certain
sitôt que j'ai plus d'un thread. Ce problème survient même avec mtmdi.exe
fournit par Microsoft.
Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
je soupçonne un problème hardware ou bios ...
Bonjour,
J'ai une application du type MTMDI (exemple MSN) qui se fige sur certain
sitôt que j'ai plus d'un thread. Ce problème survient même avec mtmdi.exe
fournit par Microsoft.
Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
je soupçonne un problème hardware ou bios ...
Bonjour,
J'ai une application du type MTMDI (exemple MSN) qui se fige sur certain
sitôt que j'ai plus d'un thread. Ce problème survient même avec mtmdi.exe
fournit par Microsoft.
Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
je soupçonne un problème hardware ou bios ...
"Grég" wrote in message
news:43ddcf8f$Bonjour,
J'ai une application du type MTMDI (exemple MSN) qui se fige sur certain
pcsitôt que j'ai plus d'un thread. Ce problème survient même avec mtmdi.exe
fournit par Microsoft.
Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
maisje soupçonne un problème hardware ou bios ...
c'est peu probable, car avant de lancer votre application le systeme lance
des dizaine de thread, et il n'y pas de raison que ce soit votre thread
qui
fasse apparaitre un tel probleme (sauf évidemment si dans ce thread , vous
faites des choses ole ole).
le blocage mutithread est généralement due à un deadlock, c'est à dire une
attente mutuelle, jetez un oeil du côté de votre méthodologie de
synchronization. Vérifiez aussi que vous ne créez pas un thread de
priorité
plus forte (que le thread primaire) qui ne respirerait pas.
voila qqc conseils généraux
VB
"Grég" <antispam@antispam.ch> wrote in message
news:43ddcf8f$1_2@news.tiscalinet.ch...
Bonjour,
J'ai une application du type MTMDI (exemple MSN) qui se fige sur certain
pc
sitôt que j'ai plus d'un thread. Ce problème survient même avec mtmdi.exe
fournit par Microsoft.
Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
mais
je soupçonne un problème hardware ou bios ...
c'est peu probable, car avant de lancer votre application le systeme lance
des dizaine de thread, et il n'y pas de raison que ce soit votre thread
qui
fasse apparaitre un tel probleme (sauf évidemment si dans ce thread , vous
faites des choses ole ole).
le blocage mutithread est généralement due à un deadlock, c'est à dire une
attente mutuelle, jetez un oeil du côté de votre méthodologie de
synchronization. Vérifiez aussi que vous ne créez pas un thread de
priorité
plus forte (que le thread primaire) qui ne respirerait pas.
voila qqc conseils généraux
VB
"Grég" wrote in message
news:43ddcf8f$Bonjour,
J'ai une application du type MTMDI (exemple MSN) qui se fige sur certain
pcsitôt que j'ai plus d'un thread. Ce problème survient même avec mtmdi.exe
fournit par Microsoft.
Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
maisje soupçonne un problème hardware ou bios ...
c'est peu probable, car avant de lancer votre application le systeme lance
des dizaine de thread, et il n'y pas de raison que ce soit votre thread
qui
fasse apparaitre un tel probleme (sauf évidemment si dans ce thread , vous
faites des choses ole ole).
le blocage mutithread est généralement due à un deadlock, c'est à dire une
attente mutuelle, jetez un oeil du côté de votre méthodologie de
synchronization. Vérifiez aussi que vous ne créez pas un thread de
priorité
plus forte (que le thread primaire) qui ne respirerait pas.
voila qqc conseils généraux
VB
"Vincent Burel" a écrit dans le message
news: 43ddd3f7$0$19701$
>
> "Grég" wrote in message
> news:43ddcf8f$
>> Bonjour,
>>
>> J'ai une application du type MTMDI (exemple MSN) qui se fige sur
> pc
>> sitôt que j'ai plus d'un thread. Ce problème survient même avec
>> fournit par Microsoft.
>>
>> Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
> mais
>> je soupçonne un problème hardware ou bios ...
>
> c'est peu probable, car avant de lancer votre application le systeme
> des dizaine de thread, et il n'y pas de raison que ce soit votre thread
> qui
> fasse apparaitre un tel probleme (sauf évidemment si dans ce thread ,
> faites des choses ole ole).
>
> le blocage mutithread est généralement due à un deadlock, c'est à dire
> attente mutuelle, jetez un oeil du côté de votre méthodologie de
> synchronization. Vérifiez aussi que vous ne créez pas un thread de
> priorité
> plus forte (que le thread primaire) qui ne respirerait pas.
>
> voila qqc conseils généraux
> VB
>
Problème d'attente mutuelle ou pas, après avoir flashé le bios, le
programme fonctionne.
De plus comme je l'ai mentionné même l'exemple de la MSDN le problème
apparait.
De ce fait, je ne comprends pas bien...
"Vincent Burel" <vincent.burel@nospam.wanadoo.fr> a écrit dans le message
news: 43ddd3f7$0$19701$8fcfb975@news.wanadoo.fr...
>
> "Grég" <antispam@antispam.ch> wrote in message
> news:43ddcf8f$1_2@news.tiscalinet.ch...
>> Bonjour,
>>
>> J'ai une application du type MTMDI (exemple MSN) qui se fige sur
> pc
>> sitôt que j'ai plus d'un thread. Ce problème survient même avec
>> fournit par Microsoft.
>>
>> Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
> mais
>> je soupçonne un problème hardware ou bios ...
>
> c'est peu probable, car avant de lancer votre application le systeme
> des dizaine de thread, et il n'y pas de raison que ce soit votre thread
> qui
> fasse apparaitre un tel probleme (sauf évidemment si dans ce thread ,
> faites des choses ole ole).
>
> le blocage mutithread est généralement due à un deadlock, c'est à dire
> attente mutuelle, jetez un oeil du côté de votre méthodologie de
> synchronization. Vérifiez aussi que vous ne créez pas un thread de
> priorité
> plus forte (que le thread primaire) qui ne respirerait pas.
>
> voila qqc conseils généraux
> VB
>
Problème d'attente mutuelle ou pas, après avoir flashé le bios, le
programme fonctionne.
De plus comme je l'ai mentionné même l'exemple de la MSDN le problème
apparait.
De ce fait, je ne comprends pas bien...
"Vincent Burel" a écrit dans le message
news: 43ddd3f7$0$19701$
>
> "Grég" wrote in message
> news:43ddcf8f$
>> Bonjour,
>>
>> J'ai une application du type MTMDI (exemple MSN) qui se fige sur
> pc
>> sitôt que j'ai plus d'un thread. Ce problème survient même avec
>> fournit par Microsoft.
>>
>> Ce problème dit-il quelque chose à quelqu'un. J'avoue être un peu perdu
> mais
>> je soupçonne un problème hardware ou bios ...
>
> c'est peu probable, car avant de lancer votre application le systeme
> des dizaine de thread, et il n'y pas de raison que ce soit votre thread
> qui
> fasse apparaitre un tel probleme (sauf évidemment si dans ce thread ,
> faites des choses ole ole).
>
> le blocage mutithread est généralement due à un deadlock, c'est à dire
> attente mutuelle, jetez un oeil du côté de votre méthodologie de
> synchronization. Vérifiez aussi que vous ne créez pas un thread de
> priorité
> plus forte (que le thread primaire) qui ne respirerait pas.
>
> voila qqc conseils généraux
> VB
>
Problème d'attente mutuelle ou pas, après avoir flashé le bios, le
programme fonctionne.
De plus comme je l'ai mentionné même l'exemple de la MSDN le problème
apparait.
De ce fait, je ne comprends pas bien...
J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on désactive
l'option "Hyperthreading" dans le bios, le programme fonctionne...
A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
multithread dans "une partie du processeur" lorsqu'il est en mode
hyperethreading? options de compilations? ou manière de créer les threads?
J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on désactive
l'option "Hyperthreading" dans le bios, le programme fonctionne...
A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
multithread dans "une partie du processeur" lorsqu'il est en mode
hyperethreading? options de compilations? ou manière de créer les threads?
J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on désactive
l'option "Hyperthreading" dans le bios, le programme fonctionne...
A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
multithread dans "une partie du processeur" lorsqu'il est en mode
hyperethreading? options de compilations? ou manière de créer les threads?
"Chevalley J.-C" wrote in message
news:43de58da$J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
désactive
l'option "Hyperthreading" dans le bios, le programme fonctionne...
C'est typiquement le signe qu'il y a un problème de synchronization entre
deux thread. le HyperThreading ou les station Dual Proc ne pardonnent pas
les erreur de synchronisation multithread.A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
multithread dans "une partie du processeur" lorsqu'il est en mode
hyperethreading? options de compilations? ou manière de créer les
threads?
non, pas vraiment, c'est Windows qui distribue les Thread dans les
processeurs... mais si vous faites une application avec deux thread, vous
pouvez pratiquement etre certains qu'il seront distribué chacun sur un
proc
(ou file d'exécution).
VB
"Chevalley J.-C" <chevalley@antispam.ch> wrote in message
news:43de58da$1_2@news.tiscalinet.ch...
J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
désactive
l'option "Hyperthreading" dans le bios, le programme fonctionne...
C'est typiquement le signe qu'il y a un problème de synchronization entre
deux thread. le HyperThreading ou les station Dual Proc ne pardonnent pas
les erreur de synchronisation multithread.
A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
multithread dans "une partie du processeur" lorsqu'il est en mode
hyperethreading? options de compilations? ou manière de créer les
threads?
non, pas vraiment, c'est Windows qui distribue les Thread dans les
processeurs... mais si vous faites une application avec deux thread, vous
pouvez pratiquement etre certains qu'il seront distribué chacun sur un
proc
(ou file d'exécution).
VB
"Chevalley J.-C" wrote in message
news:43de58da$J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
désactive
l'option "Hyperthreading" dans le bios, le programme fonctionne...
C'est typiquement le signe qu'il y a un problème de synchronization entre
deux thread. le HyperThreading ou les station Dual Proc ne pardonnent pas
les erreur de synchronisation multithread.A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
multithread dans "une partie du processeur" lorsqu'il est en mode
hyperethreading? options de compilations? ou manière de créer les
threads?
non, pas vraiment, c'est Windows qui distribue les Thread dans les
processeurs... mais si vous faites une application avec deux thread, vous
pouvez pratiquement etre certains qu'il seront distribué chacun sur un
proc
(ou file d'exécution).
VB
"Vincent Burel" wrote in message
news:43de611c$0$21258$
>
> "Chevalley J.-C" wrote in message
> news:43de58da$
>> J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
>> désactive
>> l'option "Hyperthreading" dans le bios, le programme fonctionne...
>
> C'est typiquement le signe qu'il y a un problème de synchronization
> deux thread. le HyperThreading ou les station Dual Proc ne pardonnent
> les erreur de synchronisation multithread.
>
>> A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
>> multithread dans "une partie du processeur" lorsqu'il est en mode
>> hyperethreading? options de compilations? ou manière de créer les
>> threads?
>
> non, pas vraiment, c'est Windows qui distribue les Thread dans les
> processeurs... mais si vous faites une application avec deux thread,
> pouvez pratiquement etre certains qu'il seront distribué chacun sur un
> proc
> (ou file d'exécution).
>
> VB
>
>
Bien que l'analyse du problème soit bonne, une grosse inexactitude c'est
glissée en fin post.
On peut diriger sur quel processeur un thread s'exécute, voir
"SetProcessAffinityMask"
PS à l'auteur de TestSiQQcToucheAMaPile (Vincent Burel): au lieu d'asséner
tes vérités souvent inexactes,
"Vincent Burel" <vincent.burel@nospam.wanadoo.fr> wrote in message
news:43de611c$0$21258$8fcfb975@news.wanadoo.fr...
>
> "Chevalley J.-C" <chevalley@antispam.ch> wrote in message
> news:43de58da$1_2@news.tiscalinet.ch...
>> J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
>> désactive
>> l'option "Hyperthreading" dans le bios, le programme fonctionne...
>
> C'est typiquement le signe qu'il y a un problème de synchronization
> deux thread. le HyperThreading ou les station Dual Proc ne pardonnent
> les erreur de synchronisation multithread.
>
>> A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
>> multithread dans "une partie du processeur" lorsqu'il est en mode
>> hyperethreading? options de compilations? ou manière de créer les
>> threads?
>
> non, pas vraiment, c'est Windows qui distribue les Thread dans les
> processeurs... mais si vous faites une application avec deux thread,
> pouvez pratiquement etre certains qu'il seront distribué chacun sur un
> proc
> (ou file d'exécution).
>
> VB
>
>
Bien que l'analyse du problème soit bonne, une grosse inexactitude c'est
glissée en fin post.
On peut diriger sur quel processeur un thread s'exécute, voir
"SetProcessAffinityMask"
PS à l'auteur de TestSiQQcToucheAMaPile (Vincent Burel): au lieu d'asséner
tes vérités souvent inexactes,
"Vincent Burel" wrote in message
news:43de611c$0$21258$
>
> "Chevalley J.-C" wrote in message
> news:43de58da$
>> J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
>> désactive
>> l'option "Hyperthreading" dans le bios, le programme fonctionne...
>
> C'est typiquement le signe qu'il y a un problème de synchronization
> deux thread. le HyperThreading ou les station Dual Proc ne pardonnent
> les erreur de synchronisation multithread.
>
>> A ce sujet, y a-t-il une façon d'obliger l'execution d'un programme
>> multithread dans "une partie du processeur" lorsqu'il est en mode
>> hyperethreading? options de compilations? ou manière de créer les
>> threads?
>
> non, pas vraiment, c'est Windows qui distribue les Thread dans les
> processeurs... mais si vous faites une application avec deux thread,
> pouvez pratiquement etre certains qu'il seront distribué chacun sur un
> proc
> (ou file d'exécution).
>
> VB
>
>
Bien que l'analyse du problème soit bonne, une grosse inexactitude c'est
glissée en fin post.
On peut diriger sur quel processeur un thread s'exécute, voir
"SetProcessAffinityMask"
PS à l'auteur de TestSiQQcToucheAMaPile (Vincent Burel): au lieu d'asséner
tes vérités souvent inexactes,
J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
désactive l'option "Hyperthreading" dans le bios, le programme
fonctionne...
J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
désactive l'option "Hyperthreading" dans le bios, le programme
fonctionne...
J'ai trouvé une autre "solution" pour que ça fonctionne: si l'on
désactive l'option "Hyperthreading" dans le bios, le programme
fonctionne...
Un GRAND merci à VV,PB et AD.
En effet, les deux threads ont des problèmes de synchronisations à cause
variables globales. Ces variables globales sont je pense misent dans des
sections critiques (ou autres) par l'OS sur des machines Multiprocesseurs
Hyperthreadings. Il y a certainement un "deadlock" sur une (ou plus) de
variables globales. J'ai essayé de trouver la variable concernée en
annalysant la pile des threads mais ai rien trouvé... Ma solution
(et j'en suis pas fier!) est SetProcessAffinityMask(..). L'autre solution
est comme je l'ai dit de "flasher" le bios. Ils ont du faire qqch. qui
améliore la gestion de threads en Hyperthreading.
Jean-Claude
Un GRAND merci à VV,PB et AD.
En effet, les deux threads ont des problèmes de synchronisations à cause
variables globales. Ces variables globales sont je pense misent dans des
sections critiques (ou autres) par l'OS sur des machines Multiprocesseurs
Hyperthreadings. Il y a certainement un "deadlock" sur une (ou plus) de
variables globales. J'ai essayé de trouver la variable concernée en
annalysant la pile des threads mais ai rien trouvé... Ma solution
(et j'en suis pas fier!) est SetProcessAffinityMask(..). L'autre solution
est comme je l'ai dit de "flasher" le bios. Ils ont du faire qqch. qui
améliore la gestion de threads en Hyperthreading.
Jean-Claude
Un GRAND merci à VV,PB et AD.
En effet, les deux threads ont des problèmes de synchronisations à cause
variables globales. Ces variables globales sont je pense misent dans des
sections critiques (ou autres) par l'OS sur des machines Multiprocesseurs
Hyperthreadings. Il y a certainement un "deadlock" sur une (ou plus) de
variables globales. J'ai essayé de trouver la variable concernée en
annalysant la pile des threads mais ai rien trouvé... Ma solution
(et j'en suis pas fier!) est SetProcessAffinityMask(..). L'autre solution
est comme je l'ai dit de "flasher" le bios. Ils ont du faire qqch. qui
améliore la gestion de threads en Hyperthreading.
Jean-Claude
Un GRAND merci à VV,PB et AD.
En effet, les deux threads ont des problèmes de synchronisations à
cause de variables globales. Ces variables globales sont je pense
misent dans des sections critiques (ou autres) par l'OS sur des
machines Multiprocesseurs ou Hyperthreadings. Il y a certainement un
"deadlock" sur une (ou plus) de ces variables globales.
J'ai essayé
de trouver la variable concernée en annalysant la pile des threads
mais ai rien trouvé... Ma solution temporaire (et j'en suis pas
fier!) est SetProcessAffinityMask(..).
Un GRAND merci à VV,PB et AD.
En effet, les deux threads ont des problèmes de synchronisations à
cause de variables globales. Ces variables globales sont je pense
misent dans des sections critiques (ou autres) par l'OS sur des
machines Multiprocesseurs ou Hyperthreadings. Il y a certainement un
"deadlock" sur une (ou plus) de ces variables globales.
J'ai essayé
de trouver la variable concernée en annalysant la pile des threads
mais ai rien trouvé... Ma solution temporaire (et j'en suis pas
fier!) est SetProcessAffinityMask(..).
Un GRAND merci à VV,PB et AD.
En effet, les deux threads ont des problèmes de synchronisations à
cause de variables globales. Ces variables globales sont je pense
misent dans des sections critiques (ou autres) par l'OS sur des
machines Multiprocesseurs ou Hyperthreadings. Il y a certainement un
"deadlock" sur une (ou plus) de ces variables globales.
J'ai essayé
de trouver la variable concernée en annalysant la pile des threads
mais ai rien trouvé... Ma solution temporaire (et j'en suis pas
fier!) est SetProcessAffinityMask(..).