2

我是线程新手,因此我不确定线程​​是否是解决此问题的正确方法。

我的程序需要执行几次计算,后面的逻辑相同,但参数不同。计算的时间越长,就越接近完美的答案。无法预先测量计算持续时间(从几秒到几分钟)

用户希望在特定时间按顺序(从计算 1 到 X)获得结果。只要得到结果,他就满足于没有完美的解决方案。一旦他有答案,他对之前的答案不感兴趣(例如:他对计算1的答案不完美,现在要求计算2的答案;即使现在对计算1有更好的答案,他也不感兴趣在里面)

线程是正确的方法吗?

4

1 回答 1

5

线程听起来是一种很好的方法,因为您可以在后台线程上执行长时间运行的计算,同时保持 UI 响应。

为了满足您对订单结果的要求,您可能需要一种停止不再需要的线程的方法。要么中止它们(可能是极端的),要么只是向它们发出停止和/或返回当前结果的信号。

请注意,您可能希望线程定期检查 UI 以报告进度(完成百分比)、检查任何中止请求等。尽管这完全取决于您的应用程序,并且不是必需的。

于 2013-09-09T15:18:44.243 回答