0

这里我使用了两个列表框。从 listbox1 读取数据后,它应该执行一些在将结果添加到 list box2 后分配的任务。为此,我创建了 3 个线程。这些线程不应从列表框 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 个相同的项目添加到 listbox2 。但下一个值被添加到 listbox2 一次。

请专家,帮助我克服这个问题......

提前致谢 !!

4

0 回答 0