排序1000+数字时冻结应用程序

时间:2016-01-23 22:21:03

标签: c# file sorting

我制作了一个生成和排序数据的程序但是当我尝试生成大约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] + ", ";
        }
    }

2 个答案:

答案 0 :(得分:0)

如果程序因为处理需要很长时间而冻结,那么您可以考虑在后台线程上进行处理。这将允许程序的其余部分保持响应。

如果程序由于死锁而冻结,那么您可以使用visual studio中的工具来识别发生这种情况的位置。如果它是可重现的,那么在调试器中暂停并查看问题所在。

如果它们都不是这两个,你能分享你正在使用的代码吗?

答案 1 :(得分:0)

尝试在调试 - &gt;例外 - &gt;托管调试助手下取消选中ContextSwitchDeadlock