Поиск состояний гонки для современных программ со сложной архитектурой – актуальная задача. В статье предложена и обоснована модель исполнения потоков, позволяющая искать состояния гонки в статическом режиме. Она ориентирована на алгоритмы с искусственными средствами синхронизации, а также на многопоточные программы с атомарными операциями. В отличие от известных моделей многопоточного исполнения,…
«Путь Python» позволяет отточить ваши профессиональные навыки и узнать как можно больше о возможностях самого популярного языка программирования. Эта книга написана для разработчиков и опытных программистов. Вы научитесь писать эффективный код, создавать лучшие программы за минимальное время и избегать распространенных ошибок. Пора познакомиться с многопоточными вычислениями и меморизацией, получи…
В пособии описаны методы и средства разработки многозадачного и многопоточного программного обеспечения в операционных системах семейства Windows, средства межзадачной и межпоточной коммуникации: анонимные и именованные каналы, почтовые ящики, отображаемые на память файлы, события, семафоры, взаимные исключения. Кроме того, кратко обсуждаются средства коммуникации процессов по сети, а также особен…
В статье проанализирован подход к статическому анализу кода на предмет обнаружения состояний гонки. Он ориентирован на реальные задачи со сложными конструкциями кода, включающие циклы и ветвления. Предложенный метод включает моделирование исполнения многопоточного приложения и анализ построенной модели. Модель подходит для реальных задач, под которыми понимаются те, где логика и понятие корректнос…
В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. Стандарт C++11 языка C++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму. Книга «Параллельное программирование на С++ в действии» не предполаг…