Необходимо ли запросить, чтобы тайм-ауты на привязали.NET?

Вы можете написать сценарий rexx, чтобы установить соединение с подсистемой Db2, а затем выполнить ту же команду. Позвольте мне найти образец и отправить вам ... это команда, которую вы можете использовать для соединения с DB2 из REXX ADDRESS DSNREXX ' СОЕДИНИТЬ '' DB01 '

5
задан Paul Stovell 30 January 2009 в 19:47
поделиться

4 ответа

Я обычно использую тайм-ауты. Самая большая проблема здесь - то, что, если тайм-аут достигнут, операция запроса будет прерванной. Это очевидно предпочтительно для заведения в тупик. Существует большая проблема там хотя: если операция очень важна, и Вы начинаете прерываться, потому что что-то еще заведено в тупик, если Ваш дизайн не является звуковым, Вы могли бы закончить тем, что вызвали спускающуюся по ферме проблему, которую Вы описали с помощью этого метода (хотя более мягкий: Ваше приложение больше не будет работать, но Вы не потеряли контроль).

Основное различие - то, что Вы на самом деле имеете контроль здесь, тогда как, если потоки начинают заходить в тупик, нет ничего, что можно сделать в рамках кода для решения проблемы, после того как отказ запустился.

5
ответ дан 14 December 2019 в 09:02
поделиться

Как правило я никогда не создаю блокировки с бесконечными тайм-аутами. Это просто приводит к дефицитному и трудному к отладке заведению в тупик. Это не берет добавленной работы для добавления проверки тайм-аута, даже если это просто выдает исключение, и это уведомляет Вас почти сразу, если у Вас есть мертвая блокировка. Что еще более важно, это помогает Вам найти, что узкие места вызвали блокировки bu, которые не могут вызвать полные мертвые блокировки.

1
ответ дан 14 December 2019 в 09:02
поделиться

Возможно доказать, что мертвые блокировки не могут произойти. Также возможно доказать во времени выполнения, что мертвые блокировки могут произойти даже без в зависимости от условий состязания (см. lockdep Linux, например).

Поэтому всегда попытка блокировки не имеет смысла. Это зависит от обстоятельств.

0
ответ дан 14 December 2019 в 09:02
поделиться

Можно ли корректно восстановиться с ситуации, где попытка блокировки испытала таймаут? Если можно затем любой ценой использовать тайм-ауты. Если Вы не можете затем нет большого количества точки в таймауте. Что Вы собираетесь сделать при возобновлении выполнения? В лучшем случае можно выйти с сообщением об ошибке. Тайм-ауты имеют свое использование, но они могут также использоваться в качестве способа скрыть тонкие ошибки многопоточного выполнения, таким образом, я думаю, что лучший совет является использованием с осторожностью.

1
ответ дан 14 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

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