我是多线程的新手,所以暂时搁置所有其他问题。我无法解决如何解决我的精灵批处理被更快的线程和下一个线程导致“对象引用未设置为对象的实例”的问题。
哦,如果您发现我的代码有任何其他问题,请随时让我觉得自己像个白痴^^
spriteBatch.Begin();
// Draw Particles
List<Thread> threads = new List<Thread>();
for (int i = 0; i < CPUCores; i++)
{
int tempi = i; // This fixes the issue with i being shared
Thread thread = new Thread(() => DrawParticles(tempi + 1, CPUCores));
threads.Add(thread);
thread.Start();
}
foreach (var thread in threads)
{
thread.Join();
}
// ..More Drawing Code..
spriteBatch.End(); // <-- This is where the program crashes
PS 谁认为使用 4 个空格来表示代码而不是 [code] [/code] 是个好主意?¬_¬