Подход к выделению многопоточной структуры программного обеспечения
14 сентября 2018
229
Предметная область | — |
Выходные данные | — |
Ключевые слова | — |
Вид публикации | Статья |
Контактные данные автора публикации | И. С. Свирин, П. А. Силин |
Ссылка на публикацию в интернете | nordavind.ru/node/1215 |
Аннотация
В статье рассматривается архитектура средства извлечения многопоточной структуры программного обеспечения. На основе анализа задачи извлечения многопоточной структуры и ее места в рамках подхода к решению проблемы взаимных блокировок формируются общие требования к архитектуре средства. Подробно рассматривается двухуровневая архитектура средства. Одной из основных проблем разработки многопоточного программного обеспечения (ПО) является обеспечение доступа различных потоков к разделяемым ресурсам. Для решения данной проблемы современные системы и средства программирования предоставляют средства синхронизации. Однако использование средств синхронизации приводит к проблеме возникновения взаимных блокировок – ситуаций, когда группа потоков не может продолжать выполнение независимо от действий остальных потоков системы. Ошибки, связанные с взаимной блокировкой потоков, чрезвычайно трудно выявить, поскольку их проявление напрямую связано с относительной динамикой выполнения потоков в ПО, зависящей от множества факторов, которые могут проявиться, например, при переходе на новую платформу или добавлении новой подсистемы. Эта особенность делает принципиально невозможным создание алгоритма выявления взаимных блокировок на этапе тестирования ПО.
ПодробнееДля того чтобы оставить комментарий необходимо авторизоваться.