Я пытаюсь найти алгоритм, который обнаруживает взаимоблокировки в параллельных транзакциях в программном обеспечении. Я пробовал искать, но ничего не нашел. Может ли кто-то указать на хороший ресурс, чтобы следовать по этому вопросу или кто-то может объяснить этот алгоритм?Тупики в параллельных транзакциях
ответ
Обнаружение тупика подразумевает некоторое знание ресурсов, которые приобретаются. В более простых случаях один менеджер ресурсов (например, база данных) владеет ресурсами (такими как блокировки на записях), и поэтому может обнаруживать цикл в запросах блокировки. Следовательно, могут применяться алгоритмы, такие как обсуждаемые here.
В случае двух одновременных транзакций, фиксирующих блокировки на произвольных ресурсах, я не вижу, как мы можем это сделать без просмотра «супервизора» всех блокировок, которые выполняются. Если у нас есть надзорное представление, мы можем применить алгоритмы, упомянутые ранее.
Прежде всего, мы ищем циклы в результ-респектабельности. Это подход outline.
Можете ли вы указать мне хороший ресурс для случая одного менеджера ресурсов по базам данных, алгоритмы Bankers и Ostrich не работают из этого случая, как я помню. – persistence
Вам нужен подход обнаружения цикла. Боюсь, я не знаю ни одного примера реализации. Ссылка, которую я добавил выше, описывает алгоритм. – djna
- 1. Тупики при длительных транзакциях
- 2. Как предотвратить взаимоблокировки базы данных в параллельных транзакциях?
- 3. Может ли один EntityManager (Hibernate) участвовать в нескольких параллельных транзакциях?
- 4. Тупики в Oracle
- 5. HTTP-запросы в транзакциях?
- 6. Тупики в клиент-серверном приложении
- 7. Тупики в оценках оболочки Groovy
- 8. Как обнаружить тупики в Django?
- 9. JDK-7 Тупики SwingWorker?
- 10. dispatch_barrier_sync всегда ТУПИКИ
- 11. Тупики - Это действительно поможет?
- 12. Мьютексы и тупики
- 13. Операторы Oracle MERGE, выполняемые в параллельных транзакциях: как предотвратить дублирование ключей?
- 14. SQL Тупики - Почему
- 15. Дополнительные заявления в транзакциях npgsql
- 16. Согласование данных в транзакциях XA
- 17. Обоснованы аннотации @Load в транзакциях?
- 18. тайм-аут в вложенных транзакциях
- 19. Неожиданные результаты в транзакциях PDO
- 20. Обработка ошибок в транзакциях ActiveRecord?
- 21. Исключение ошибок MySQL в транзакциях
- 22. Замки на транзакциях postgres
- 23. Вопрос о транзакциях MySQL
- 24. Выполнение параллельных параллельных параллельных сериевых сеток в сетке селена
- 25. Task.Wait() ТУПИКИ Xamarin.iOS NUnit бегуна
- 26. Тупики по MySQL, удаляющие строки
- 27. снимков на, еще тупики, ROWLOCK
- 28. Тупики с pthreads и CreateThread
- 29. буферизация канал Go и тупики
- 30. Голодание и тупики (операционная система)
Это домашнее задание? –
Это трудная задача. Мой босс сказал мне сделать некоторые исследования по этому поводу. – persistence