Quickly updating a mass of objects
While not answering your question, I would like to point out problems with your loop conditions.

First, the condition X != 99 - 1 looks strange. It is the same as X &lt; 98 in this context. The same holds for Y. Since Y &lt; 98, if you increment Y by one, Y is still Y &lt; 99 and will never be Y &gt; 98!

Arrays go from 0 to N-1. Let us assume that you have declared something like

const int N = 99;

Layer[,] layer = new Layer[N, N];


You would make two nested loops

for (int x = 0; x &lt; N; x++) {
    for (int y = 0; y &lt; N; y++) {
        layer[x,y].Update(x,y);
    }
}




In .NET 4.0 there is a parallel for statement, however if you are updating the UI, what your Update statement suggests, then a parallel processing is of little help. Only "pure" calculations will experience an increased calculation power when using parallel processing. Also, the single tasks must have a substantial amount of work to process; otherwise the overhead associated with parallel processing will outweigh the benefits.

See Parallel.For Method in .NET 4.0 vs the C# For Loop.