Что такое тупик?

Позвольте мне объяснить реальный thread (а не реальный) пример тупиковой locking ситуации из криминальных threading фильмов. Представьте, что multithreading преступник держит заложника, а concurrent-programming против этого полицейский multithreading также держит заложника, который lock является другом преступника. В concurrent этом случае преступник не deadlock отпустит заложника, если thread полицейский не отпустит своего concurrent-programming друга. Также коп не собирается locking отпускать друга преступника, если concurrency преступник не освободит заложника. Это lock бесконечная ненадежная ситуация, потому concurrency что обе стороны настаивают threads на первом шаге друг от друга.

Сцена с преступником и полицейским

Что такое тупик?_threads

Проще concurrent говоря, когда двум потокам concurrency-violation нужны два разных ресурса, и thread каждый из них имеет блокировку concurency ресурса, которая нужна другому, это threading тупик.

Еще одно объяснение тупика на высоком уровне: разбитые сердца

Вы встречаетесь с девушкой, и lock через день после ссоры обе deadlock стороны горько переживают thread друг за друга и ждут звонка multithreading Мне-извините-и-я-скучал. . В этой ситуации обе стороны threading хотят общаться друг с другом deadlock тогда и только тогда, когда concurency одна из них получает вызов thread Извините от другой. Поскольку ни concurrency один из них не будет начинать threads связь и ждать в пассивном thread состоянии, оба будут ждать, пока thread другой не начнет коммуникацию, что concurency приведет к тупиковой ситуации.

multithreading

concurrency

locking

deadlock

2022-10-17T11:08:28+00:00
Вопросы с похожей тематикой, как у вопроса:

Что такое тупик?