我制作了一个生成和排序数据的程序但是当我尝试生成大约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] + ", ";
}
}
答案 0 :(得分:0)
如果程序因为处理需要很长时间而冻结,那么您可以考虑在后台线程上进行处理。这将允许程序的其余部分保持响应。
如果程序由于死锁而冻结,那么您可以使用visual studio中的工具来识别发生这种情况的位置。如果它是可重现的,那么在调试器中暂停并查看问题所在。
如果它们都不是这两个,你能分享你正在使用的代码吗?
答案 1 :(得分:0)
尝试在调试 - &gt;例外 - &gt;托管调试助手下取消选中ContextSwitchDeadlock
。