我有一个用来搜索的BackgroundWorker。可以执行两种不同的搜索,一种是SQL DB,另一种是Accpac DB。为了适应Accpac DB的缓慢执行时间,我使用了Thread.Sleep。问题是,当我在SQL DB上进行搜索时,我给出的参数表明它应该只返回活动记录。如果我移动Thread.Sleep以适应我的Accpac搜索,那么我的SQL结果将返回所有记录,而不是仅返回活动记录。如果我移动Thread.Sleep以适应我的SQL搜索,那么返回的Accpac搜索结果就会出现问题。
除了Thread.Sleep之外,还有没有别的选择?
发布于 2011-08-30 18:14:00
听起来你应该研究一下线程同步类,比如WaitHandles。一个ManualResetEvent可能会很适合你。
http://www.yoda.arachsys.com/csharp/threads/waithandles.shtml
https://stackoverflow.com/questions/7241632
复制相似问题