BeginInvoke() を呼び出すとき、デリゲートはメソッドが呼び出されたのと同じ順序で返されますか? または、どのデリゲートが最初に戻ってくるという保証はありませんか?
public Form1()
{
InitializeComponent();
for (int i = 0; i < 100; i++)
{
Thread t = new Thread(DisplayCount);
t.Start(i);
}
}
public void DisplayCount(object count)
{
if (InvokeRequired)
{
BeginInvoke(new Action<object>(DisplayCount), count);
return;
}
listBox1.Items.Add(count);
}
そして、整数のリストは順不同で戻ってきます。