私はマルチスレッドが初めてなので、他のすべての問題はしばらく脇に置きます。スプライト バッチがより高速なスレッドによって終了し、次のスレッドによって「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という問題を解決する方法がわかりません。
ああ、私のコードに他に何か問題がある場合は、遠慮なく私をばかだと感じさせてください ^^
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 つのスペースを使用することをお勧めしたのは誰ですか? ¬_¬