2013-12-20 7 views
0

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

, что я столкнулся вопрос означает, что для 100, если возникает исключение для 50 событий, которые должны ждать некоторое время и после повторной попытки, если возникло исключение , означает, что он также должен ждать до достижения успеха

Я чувствую, что это повлияет на производительность и использование системы.

Пожалуйста, дайте мне знать ваши предложения. Лучше ли создавать новый поток, если возникает какое-либо исключение? Или любым другим способом?

+0

Почему вы ожидаете стольких исключительных случаев? может быть, вы можете настроить приложение, чтобы свести к минимуму исключительные условия, при этом сценарий за короткий промежуток времени у вас было бы слишком много потоков RUNNABLE –

+0

ya thats fine. но для конкретного исключения, как мы обрабатываем потоки – jackyesind

ответ

1

С вопросом, я понимаю, вы говорите о RunTimeExceptions.

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

2) Другое дело, что вам приходится обрабатывать эти сценарии, чтобы исключить случаи исключения. первый файл проверки доступен, а затем попробуйте прочитать его, проверить разрешения перед записью и т. д. Таким образом, частота повторной попытки может быть уменьшена. 3) Если оба вышеуказанных действия терпят неудачу, означает, что ситуация, которая никогда не может быть обработана, например, службы опущены и т. Д., Вы можете повторить рассмотрение всех необходимых аспектов, таких как: MAX try, MAX time out foe, который вы пытаетесь повторить, попытка после определенного количества попыток ИЛИ времени и т. д.

Надеюсь, это поможет.

+0

Можно ли это сделать любым другим способом? – jackyesind

+0

Нет. Кажется, что все эти 3 варианта охвачены. – Ved

2

Повторные на исключении не плохая идея, но вы должны убедиться, что:

  1. Исключение преходяще (т.е. у вас есть основания полагать, что может успех на повторных попытки, как ошибки сети)
  2. У вас есть способы предотвратить повторную попытку (например, «max retry»)
  3. Вы не перегружаете систему слишком частыми повторениями, например используя экспоненциальную стратегию отступления (или даже достаточно долгое время ожидания)

Возможно исключение из правила 2 (иногда вы хотите, чтобы материал повторялся навсегда).

Смежные вопросы