2个线程同时操作2个不同progressbar问题
怎么用2个不同进程让两个不通的progressbar,一个progressbar1一个progressbar2同时从1走到100?
我用2格线程只能是第一个走完后第二个才开始走,而不是同同时的
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Test
{
public partial class Form1 : Form
{
private object thislock=new object();
public Form1()
{
InitializeComponent();
}
delegate void procCallBack();
delegate void procCallBack2();
private void porc_1()
{
//int i = 0;
while (progressBar1.Value<progressBar1.Maximum)
{
if (!progressBar1.InvokeRequired)
{
progressBar1.Value++;
}
else
{
procCallBack pbl = new addlist(porc_1);
this.Invoke(pb1);
}
//i++;
}
}
private void porc_2()
{
//int i = 0;
while (progressBar2.Value < progressBar2.Maximum)
{
if (!progressBar2.InvokeRequired)
{
progressBar2.Value++;
}
else
{
procCallBack2 pb2 = new addlist2(porc_2);
this.Invoke(pb2);
}
//i++;
}
}
private void btn_start_Click(object sender, EventArgs e)
{
Thread mythread = new Thread(new ThreadStart(porc_1));
Thread mythread2 = new Thread(new ThreadStart(proc_2));
mythread.IsBackground = true;
mythread2.IsBackground = true;
mythread.Start();
mythread2.Start();
}
}