Backgroundworker / Thread.Sleep на поиск - PullRequest
0 голосов
/ 30 августа 2011

У меня есть BackgroundWorker, который я использую в поиске. Можно выполнить два разных поиска, один для базы данных SQL, а другой для базы данных Accpac. Чтобы приспособиться к медленному времени выполнения к базе данных Accpac, я использую Thread.Sleep. Проблема в том, что когда я выполняю поиск в своей БД SQL, я даю параметры, указывающие, что она должна возвращать только активные записи. Если я переместлю Thread.Sleep, чтобы приспособить его к поиску Accpac, тогда мои результаты SQL будут возвращать все записи вместо только Active. Если я переместлю Thread.Sleep, чтобы приспособиться к моему поиску SQL, то возникнут проблемы с результатами поиска Accpac.

Есть ли другие альтернативы, кроме Thread.Sleep?

1 Ответ

1 голос
/ 30 августа 2011

Похоже, вы должны смотреть на классы синхронизации потоков, такие как WaitHandles.ManualResetEvent, вероятно, будет работать очень хорошо для вас.
http://www.yoda.arachsys.com/csharp/threads/waithandles.shtml

...