Backgroundworker / Thread.Sleep на поиск
У меня есть BackgroundWorker, который я использую в поиске. Можно выполнить два разных поиска, один для базы данных SQL, а другой для базы данных Accpac. Чтобы приспособиться к медленному времени выполнения к базе данных Accpac, я использую Thread.Sleep. Проблема в том, что, когда я выполняю поиск в своей БД SQL, я даю параметры, указывающие, что она должна возвращать только активные записи. Если я переместлю Thread.Sleep, чтобы приспособить его к поиску Accpac, тогда мои результаты SQL будут возвращать все записи вместо только Active. Если я переместлю Thread.Sleep, чтобы приспособиться к моему поиску SQL, то возникнут проблемы с результатами поиска Accpac.
Есть ли другие альтернативы, кроме Thread.Sleep?
1 ответ
Похоже, вы должны смотреть на классы синхронизации потоков, такие как WaitHandles. ManualResetEvent, вероятно, будет работать очень хорошо для вас.
http://www.yoda.arachsys.com/csharp/threads/waithandles.shtml