Я работаю над дизайном, где я обрабатываю все исключения, пойманные в блоки catch, для отправки на сервер через вызов webservice.Сценарий использования блокировки очереди
Идея состоит не в том, чтобы вообще блокировать основное приложение, выполняя эту работу. Я чувствовал, что шаблон блокировки очереди подходит для него. Итак, я создал блокирующую очередь с использованием реализации массива с размером 10. В начале основного приложения я инициализирую потребительский поток для этой очереди.
Однако сторона производителя немного запутывает меня. по моему пониманию, если очередь заполнена, и если основное приложение попадает в исключение, тогда выполнение объекта production.put (object) будет заблокировано до тех пор, пока очередь не будет иметь место, и, следовательно, основное приложение также заблокирует. это правильное понимание?
Да, поток производителя будет заблокирован до тех пор, пока потребительский поток не займет один из очереди. –
Хмм, тогда это не хорошо, поскольку блок catch будет висел, и это означает, что основное приложение также будет висели. – Vik