如题最近学习多线程
从网上找的代码试验。一直会出现重复处理的问题。
求高手给我一个真正的多线程例子。要求可以自定义多个线程来处理同一个任务。
比如从一个ListBox读取所有行数记录。到另一个Listbox
最好顺序不变。运行速度要快可以用1-10000数字为Listbox的内容先谢过了
从网上找的代码试验。一直会出现重复处理的问题。
求高手给我一个真正的多线程例子。要求可以自定义多个线程来处理同一个任务。
比如从一个ListBox读取所有行数记录。到另一个Listbox
最好顺序不变。运行速度要快可以用1-10000数字为Listbox的内容先谢过了
{
Thread thread1;
public Form1()
{
InitializeComponent();
this.button1.Click+=new EventHandler(button1_Click);//假定你已添加了一个按钮button1
label1.Text = "0/" + listBox1.Items.Count.ToString();//显示进度
} private void button1_Click(object sender, EventArgs e)
{
thread1 = new Thread(delegate(){
int i = 0;
foreach (Object item in listBox1.Items)
{
int j = ++i;
Object newitem = DoSomeThing(item);//这里你自己写实现方法
oneParam d = new oneParam(itemdone);
this.Invoke(d, new object[] { j,newitem });
}
}
thread1.Start();
} delegate void oneParam(int i,Object item); void itemdone(int i,Object item)
{
listBox2.Items.Add(item);
label1.Text = i.ToString() + "/" + listBox1.Items.Count.ToString();//更新进度
}
}