次のコードは、マルチスレッドなしで正常に動作します。しかし、スレッドを使用すると失敗します。checkedListBox で複数の項目を選択すると、最初の項目は無視され、他の項目はランダムになります...
データのコミットに問題があると思います。どう思いますか?
private void sendCom(String com)
{
//send command to selected item
int i=0;
String IP;
foreach (var item in checkedListBox1.CheckedItems)
{
Console.WriteLine(item.ToString());
IP = item.ToString();
theThreads[i] = new Thread(new ThreadStart(() => sendComThread(IP, com) ));
theThreads[i].Start();
//sendCom(IP, com);
i++;
}
}
private void sendComThread(String IP, String com)
{
// send an command
System.Console.WriteLine(IP + com);
}