SQL SMO, не перечисляющий таблицы

Поскольку вы не указали компилятору, что stop может быть изменено и прочитано несколькими потоками:

private static boolean stop;

разрешено оптимизировать это:

while (!stop) {
}

на

if (!stop) {
  while (true) {
  }
}

, который никогда не остановится, если stop изначально ложно.

Объявление stop volatile:

private static volatile boolean stop;

запрещает эту оптимизацию.

6
задан John Rudy 5 March 2009 в 21:33
поделиться

1 ответ

SMO не получает метаданные автоматически при простом создании нового экземпляра класса Базы данных. Получение метаданных может требовать времени, особенно в холодной среде. База данных Call. Обновление () перед циклом.

13
ответ дан 8 December 2019 в 18:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: