Почему сбой живучести не происходит в однопоточной программе? - PullRequest
0 голосов
/ 15 января 2020

Я читал Java Параллелизм на практике. Я видел одно утверждение, которое гласит:

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

Однако давайте посмотрим на пример. Если однопоточное приложение делает запрос ввода-вывода перед отображением представления, а запрос ввода-вывода концептуально / теоретически занимает бесконечное время. Однопоточное приложение продвигается вперед и блокирует себя, в конечном итоге «ничего хорошего не происходит».

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

1 Ответ

0 голосов
/ 15 января 2020

Я понял вашу точку зрения. Давайте посмотрим на ваш пример. Потому что это займет бесконечное время . Так что, даже если есть тысячи потоков, это также провал Живости для вашей мысли. И

живучесть - это возможность одновременного выполнения приложения одновременно

Так что это невозможно.

...