我有一个在搜索中使用的BackgroundWorker。可以进行两种不同的搜索,一种是SQL DB,另一种是Accpac DB。为了适应Accpac DB的慢执行时间,我使用Thread.Sleep。问题是,当我在我的SQL DB上搜索时,我给出了参数,说明它应该只返回活动记录。如果我移动Thread.Sleep以适应我的Accpac搜索,那么我的SQL结果将返回所有记录而不是仅活动。如果我移动Thread.Sleep以适应我的SQL搜索,那么返回的Accpac搜索结果就会出现问题。
除Thread.Sleep之外还有其他选择吗?
答案 0 :(得分:1)
听起来你应该研究一下线程同步类,比如WaitHandles。 ManualResetEvent可能对你很有用。
http://www.yoda.arachsys.com/csharp/threads/waithandles.shtml