> >Thread newThread1 = new Thread( > new ThreadStart(this.Meter1)); > > Thread newThread2 = new Thread( > new ThreadStart(this.Meter2)); > > newThread1.Start(); > newThread2.Start(); > > private void Meter1() > { > > if (pbMeter1.InvokeRequired) > { > IAsyncResult result = pbMeter1.BeginInvoke(new MethodInvoker(this.Meter1)); > while (!result .IsCompleted ) > { > Thread.Sleep(100); > } > pbMeter1.EndInvoke(result); > > } > else > { > for (int i = 0; i < 10000; i++) > { > > pbMeter1.Value = i; > } > } > > } > > private void Meter2() > { > if (pbMeter2.InvokeRequired) > { > IAsyncResult result = pbMeter2.BeginInvoke(new MethodInvoker(this.Meter2)); > > while (!result.IsCompleted) > { > Thread.Sleep(100); > } > pbMeter2.EndInvoke(result); > > } > else > { > for (int i = 0; i < 10000; i++) > { > pbMeter2.Value = i; > } > } > } >