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();
}
Так что это не сработает. (Процессор работает 90-100%, это значит, что я догадываюсь, что все еще работает над моим приложением) Я использовал Update() вместо Application.DoEvent()
. Мое приложение отключено или не может обновить(). Я не знаю . Я думаю, что может быть проблемой Update(), но я не уверен. Есть ли у вас предложения ? Спасибо.stacktrace на VS2010
Что такое "didsomthing?" Готов поспорить, что все, что вызвало это, произошло. Вероятно, пытается обновить графический интерфейс. – Aaronaught
@ the fail troll не работает. Мне также нравятся вопросы «MY APP CRASHED HURR» без каких-либо исключений *. Как мы можем махать волшебной палочкой и знать, почему что-то разбилось. Кроме того, Application.DoEvents в многопоточном приложении? Гай должен сесть с хорошей книгой и учиться. – Will
@Will: Вы имеете в виду, что вы не имеете волшебную палочку для отладки? Я заплатил верхний доллар за шахту, но он того стоил, больше не надоедливых сбоев приложений! – Aaronaught