应用程序在排序 1000+ 号码时冻结
本文关键字:冻结 号码 1000+ 排序 应用程序 | 更新日期: 2023-09-27 18:31:46
我创建了一个生成和排序数据的程序,但是当我尝试生成大约 1000 个数字时,程序冻结并且不会响应。它还从文件中加载数据,但任何大文件都会冻结程序。有什么办法吗?
public void generateData(int number)
{
//Clear text boxes and initialize random
Unsorted_Box.Clear();
Sorted_Box.Clear();
Random random = new Random();
dataArray = new int[number];
for (int i = 0; i < number; i++)
{
//Generate random numbers using max and min values, ammount and store in unsorted box
dataArray[i] = random.Next((int)Min_UpDown.Value, (int)Max_UpDown.Value);
Unsorted_Box.Text += dataArray[i] + ", ";
}
}
尝试取消选中"调试>异常>托管调试助手"下的ContextSwitchDeadlock
。
如果程序因为处理时间较长而冻结,则可以考虑在后台线程上进行该处理。 这将使程序的其余部分保持响应。
如果程序由于死锁而冻结,则可以使用 Visual Studio 中的工具来识别发生这种情况的位置。 如果它是可重现的,则在调试器中暂停并查看问题所在。
如果两者都不是,你能分享你正在使用的代码吗?