0

ここでは、2 つのリスト ボックスを使用しています。listbox1 からデータを読み取った後、結果を list box2 に追加した後に割り当てられたいくつかのタスクを実行する必要があります。このために、3 つのスレッドを作成しました。これらのスレッドは、リスト ボックス 1 から同じデータをフェッチしてはなりません。スレッドが 1 つのデータをフェッチすると、他のスレッドはそれを再度フェッチしてはなりません。

static int i;

void add() 
{
   for(i=0;i < listbox1.items.length;i++)
   {
      string x = listBox1.Items[i]. To String();
      checker obj = new checker(x);
      string s = obj.check();
      add item (s);
   }
}

private void button4_Click(object sender, Event Args e)
{    
   Thread[] threads = new Thread[3];

   for (int l = 0; l < 3; l++)
   {
       threads[l] = new Thread(new ThreadStart(bul_add));
   }

   foreach (Thread t in threads)
   {
       t.Start();
   }
}

このコードを実行すると、listbox1 の最初の値が 3 回読み取られ、3 つの同じ項目が listbox2 に追加されます。ただし、次の値は listbox2 に一度追加されます。

専門家をお願いします、この問題を克服するのを手伝ってください...

前もって感謝します !!

4

0 に答える 0