如何知道我可以打开多少文件而不会卡住计算机

时间:2013-08-25 09:56:29

标签: c# file memory

我有一个数据网格视图,其中包含指向xml文件的链接,我给用户选项在IE中打开它们。 我的问题是如何知道计算机可以打开多少文件而不会崩溃\卡住(显示警告消息框)。 另外,我怎么知道我需要多少睡眠时间?

我的代码:

if (dg_autoTestStatus.SelectedRows.Count >= MaxFilesCanOpen(/* How to implement this function */))
{
    DialogResult dr = MessageBox.Show("Your computer should crash from opening too much files at same time.\n"
                    + "Are you want to continue ?", "Warning",
                    MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

    if (dr == DialogResult.No) return;
}

string pathXMLfile = "";
foreach (DataGridViewRow dgvItem in dg_autoTestStatus.SelectedRows)
{
    pathXMLfile += "\\" + dg_logs.Rows[dgvItem.Index].Cells[1].FormattedValue.ToString();
    pathXMLfile += "\\" + dg_logs.Rows[dgvItem.Index].Cells[7].FormattedValue.ToString();
    openXMLfile(pathXMLfile);
    Thread.Sleep(500); // how can I know how much sleep I need ?!?
}

修改

也许我对自己的看法不对,但是如果你有一个300字文件(doc文件)的目录,现在你选择所有这些文件并按回车键。应该是什么? 我使用sleep becuase,而不是在新窗口中打开任何xml,而不是在新选项卡中。

1 个答案:

答案 0 :(得分:1)

本文可能有助于回答您的问题: http://blogs.technet.com/b/markrussinovich/archive/2009/09/29/3283844.aspx

这些极端数字在您的情况下可能不实用。您必须使用判断或者只是进行实验,然后将保守限制设置为平均计算机上可以处理的五分之一。