我在我的 while 循环中使用多线程,如
while(reader.read())
{
string Number= (reader["Num"] != DBNull.Value) ? reader["Num"].ToString() : string.Empty;
threadarray[RowCount] = new Thread(() =>
{
object ID= (from r in Datasetds.Tables[0].AsEnumerable()
where r.Field<string>("Num") == Number
select r.Field<int>("ID")).First<int>();
});
threadarray[RowCount].Start();
RowCount++;
}
但是对于顺序执行,对于 200 个阅读器,它只需要 0.4 秒,但对于线程,它需要 1.1 秒......这是一个示例,但是当我在多个数据库操作的线程中使用多行代码执行它时,我遇到了同样的问题。
对于顺序需要 10 秒的线程它需要更多...
有人可以建议我吗?
谢谢...