Если код Delphi был написан с синхронизацией для сериализации доступа к основному потоку VCL, но этот код затем используется в приложении, отличном от VCL, будет ли он синхронизироваться с основным потоком приложения или просто не имеет никакого эффекта вообще?
Пример:
procedure TMyThread.Execute;
begin
// ... other code
Synchronize(SomeMethod);
// ...
end;
Предположим, что
- это приложение, отличное от VCL, которое имеет основной поток, который выполняется в бесконечном цикле (или до его завершения)
- основной поток не вызывает
CheckSynchronize
напрямую или в обработчике WakeMainThread - выполняется вторичный поток и выполняет синхронизацию (SomeMethod), как в приведенном выше примере
Будет ли винт зависать на линии Synchronize (SomeMethod)?