Recently I was able to convert a for
loop into a Parallel.For
loop to speed up an heavy task in my WinForms application initialization.
I was quite surprised though, to see some OnPaint() calls coming through when the Parallel.For()
is in action.
Why does this happen? Is there any way to prevent the UI from working during a Parallel.For
?
EDIT: I want to save time but not change the program logic: I want the Parallel.For
to work exactly as the for
and save time. UI depends on the result of the for loop and the OnPaint()
fails because the data is not ready yet.