private void ParallelCrashTest()
{
for (int x = 0;x < 100; x++)
{
Dowork_1(i);
}
}
private void Dowork_1(int i)
{
ThreadInfo threadInfo = new ThreadInfo();
threadInfo.first = 0;
threadInfo.last = 100;
for (int x = 0;x < 60; x++)
{
Dowork_2(threadinfo);
progressBar2.Value = x + 1;
}
}
private void Dowork_2(object param)
{
ThreadInfo threadInfo = param as ThreadInfo;
int first = threadInfo.first;
int last = threadInfo.last;
Parallel.For(first, last, i =>
{
didsomthing...
}
Update();
}
Cela ne fonctionne donc pas. (CPU fonctionne 90-100%, cela signifie que je devine encore travailler mon application) J'ai utilisé Update() au lieu de Application.DoEvent()
. Mon application est crash ou ne peut pas mettre à jour(). Je ne sais pas . Je pense que le problème est Update() mais je ne suis pas sûr. Avez-vous une suggestion ? Merci.stacktrace sur VS2010
Qu'est-ce que c'est «didsomthing? Je parie que tout ce qui provoque cette chute est là. Probablement essayer de mettre à jour l'interface graphique. – Aaronaught
@le fail troll échoue. J'adore aussi les questions "MY APP CRASHED HURR" avec * aucun détail d'exception *. Comme on peut brandir une baguette magique et savoir pourquoi quelque chose s'est écrasé. En outre, Application.DoEvents dans une application multithread? Guy doit s'asseoir avec un bon livre et apprendre. – Will
@Will: Vous voulez dire que vous n'avez pas de baguette de débogage magique? J'ai payé le gros prix pour le mien, mais ça valait le coup, pas plus d'accidents d'application embêtants! – Aaronaught