我用10个线程同时写入一个datagridview数据我用了委托,如果是个或两个线程去调用它时一切正常,如果同时使用5个以上的线程就会假死在这。委托的具体代码如下
private delegate void SetGVDel(string u,string p);
private void setgv(string u, string p)
//private void setgv(string[] arr)
{
if (gv1.InvokeRequired)
{
SetGVDel del = new SetGVDel(setgv);
//gv1.Invoke(del, new object[] { u, p });
this.Invoke(del, new object[] { u, p });
}
else
{
int rowid = gv1.Rows.Add();
gv1.Rows[rowid].Cells["ID"].Value = rowid;
gv1.Rows[rowid].Cells["账户"].Value = u;
gv1.Rows[rowid].Cells["密码"].Value = p;
if ((rowid - 10) > 0)
gv1.FirstDisplayedScrollingRowIndex = (rowid - 10);
}
}