我有一个方法正在运行很长时间。我希望能够停止,暂停和继续执行该方法。我查看了this question,答案很不错,但我想使用更通用的库,例如TPL。
TPL具有取消机制,但是我找不到暂停/继续功能。
编辑
感谢您提供所有答案。但是问题是我不写那种“长时间运行”的方法,我只是调用那个方法。
最佳答案
实现此目的最简单的方法是使用BackgroundWorker控件。它支持取消和进度报告。
http://msdn.microsoft.com/en-us/library/cc221403(v=vs.95).aspx
http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/48305e65-cea6-4a88-8818-c122e152daa8
编辑
哦,我明白了。好吧,除非您想挂起线程,否则没有“干净”的方式来暂停和恢复您未编写的方法。而且,如果该方法不是线程安全的,那么您可能会很不幸。 http://msdn.microsoft.com/en-us/library/d00bd51t.aspx
关于c# - 开始,停止,暂停和继续运行很长时间的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5506457/