想暂停一个排序程序,然后再恢复

时间:2012-03-31 03:22:48

标签: c# multithreading events sorting

我正在开发一个需要在c#中对几个数字进行排序的程序。 我希望根据用户输入暂停这种排序一段时间,然后再从停止的位置恢复它。

我正在使用冒泡排序对数字进行排序。 什么是在两者之间暂停这种排序的最佳方法? 可以使用线程或某些事件来完成吗?

3 个答案:

答案 0 :(得分:0)

大多数排序算法可以表示为单循环,因此可以在任何迭代中轻松暂停。对于冒泡排序,因为它在外循环上暂停可能就足够了,只需记住你已停止并从该索引重新启动的位置。

编写多线程排序很有趣,但是如果你原来是单线程我不会看到多线程如何帮助...你需要提供更多关于你想要做什么的细节以获得更好的多线程答案/事件部分。

答案 1 :(得分:0)

你可以制作新流。在这个新线程中对信息进行排序。 您可以在需要时暂停它。 阅读更多关于“Thread.Suspend”的信息

答案 2 :(得分:0)

如果你只是对几个数字进行排序,你将无法暂停用户输入 - 除非你使用类似{{3}的内容,否则它将在任何用户输入之前完成。 }}