this.btnEnd.Enabled = true;
foreach (Control item in gBox.Controls)
{
if (item is Label)
{
Label lbl = (Label)item;
taskList.Add(taskFactory.StartNew(
() => {
while (IsBegin)
{
this.UpdateNum(lbl);
}
}));
}
}
taskFactory.ContinueWhenAll(taskList.ToArray(),tList=>this.ShowNumber());
//等所有线程操作完毕后才显示中奖号。
if (lbl.Name.Contains("Blue"))
{
int num = randomHelper.GetNum(0,16);
string blueText = BuleNum[num];
this.UpdateLbl(lbl, blueText);
}
else
{
int num = randomHelper.GetNum(0, 33);
string redText = RedNum[num];
lock (Num_Lock)
{
List<string> list = this.GetLabelList();
if (list.Contains(redText))
{
return;
}
else
{
this.UpdateLbl(lbl,redText);
}
}
}
///当list取得当前6个红球Label的内容与redNum比较时 redNum由一个线程随机数赋值但并未包含在当前list里面 比较不重复有何意义呢?
C#双色球并发多线程 红球赋值与labellist比较?
于 2023-07-21 11:50:01 首次发布