public void SyncResults(AfterSyncResultsRoutine afterSyncResultsRoutine) { //синхронизация результатов измерений выполняется продолжительное время, поэтому чтобы не получить ContextSwitchDeadlock выполняем её в отдельном потоке, при успешном завершению которого будет вызвана реализация afterSyncResultsRoutine LongTimeRoutineWorker Worker = new LongTimeRoutineWorker(SyncResultsWorkerHandler, SyncResultsCompletedHandler); //запоминаем что нам надо вызвать когда LongTimeRoutineWorker успешно выполнит свою работу this.FAfterSyncResultsRoutine = afterSyncResultsRoutine; //стартуем фоновый поток, нужды во входных параметрах нет - поэтому будем передавать null Worker.Run(null); }
public void SyncProfiles(AfterSyncProfilesRoutine afterSyncProfilesRoutine) { //синхронизация профилей выполняется продолжительное время, поэтому чтобы не получить ContextSwitchDeadlock выполняем её в отдельном потоке LongTimeRoutineWorker Worker = new LongTimeRoutineWorker(SyncProfilesWorkerHandler, SyncProfilesCompletedHandler); //запоминаем что нам надо вызвать когда LongTimeRoutineWorker закончит свою работу this.FAfterSyncProfilesRoutine = afterSyncProfilesRoutine; //стартуем фоновый поток, нужды во входных параметрах нет - поэтому будем передавать null Worker.Run(null); }