<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">ellibs</journal-id><journal-title-group><journal-title xml:lang="ru">Электронные библиотеки</journal-title><trans-title-group xml:lang="en"><trans-title>Russian Digital Libraries Journal</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">1562-5419</issn><publisher><publisher-name>Казанский (Приволжский) федеральный университет</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.26907/1562-5419-2025-28-3-640-653</article-id><article-id custom-type="elpub" pub-id-type="custom">ellibs-577</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>Оптимизация алгоритмов численного моделирования C++ с использованием методов многопоточности</article-title><trans-title-group xml:lang="en"><trans-title>Optimization of C++ Numerical Simulation Algorithms Using Multithreading Methods</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Ефимов</surname><given-names>Юрий Сергеевич</given-names></name><name name-style="western" xml:lang="en"><surname>Efimov</surname><given-names>Yuri Sergeevich</given-names></name></name-alternatives><email xlink:type="simple">efimovs1@spbu.su</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>H&amp;H company</institution></aff><aff xml:lang="en"><institution>H&amp;H company</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2025</year></pub-date><pub-date pub-type="epub"><day>23</day><month>06</month><year>2025</year></pub-date><volume>28</volume><issue>3</issue><fpage>640</fpage><lpage>653</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Ефимов Ю.С., 2025</copyright-statement><copyright-year>2025</copyright-year><copyright-holder xml:lang="ru">Ефимов Ю.С.</copyright-holder><copyright-holder xml:lang="en">Efimov Y.S.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://ellibs.elpub.ru/jour/article/view/577">https://ellibs.elpub.ru/jour/article/view/577</self-uri><abstract><p>Представлены основные методы численного моделирования (конечных разностей, конечных элементов, Монте-Карло, Рунге–Кутты). Рассмотрены основные параметры, используемые для оптимизации алгоритмов численного моделирования с точки зрения длительности выполнения кода и эффективного использования ресурсов процессора. Проанализированы основные недостатки многопоточности, связанные с синхронизацией данных, дедлоками и состояниями гонки и методы их устранения на основе применения мьютексов и атомарных операций на примере метода Монте-Карло.
</p></abstract><trans-abstract xml:lang="en"><p>The main methods of numerical simulation (finite difference method, finite element method, Monte Carlo method, Runge–Kutta method) are presented. The main parameters used to optimize numerical modeling algorithms in terms of code execution time and efficient use of processor resources are considered. The main disadvantages of multithreading related to data synchronization, deadlocks and race conditions and methods for eliminating them based on the use of mutexes and atomic operations using the Monte Carlo method as an example were analyzed.
</p></trans-abstract><kwd-group xml:lang="ru"><kwd>язык программирования С</kwd><kwd>методы многопоточности</kwd><kwd>численное моделирование</kwd><kwd>синхронизация данных</kwd></kwd-group><kwd-group xml:lang="en"><kwd>programming language С</kwd><kwd>multithreading methods</kwd><kwd>numerical simulation</kwd><kwd>data synchronization</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Умнов А.Е. Методы математического моделирования: учебное пособие. М.: МФТИ, 2013. 295 с.</mixed-citation><mixed-citation xml:lang="en">Умнов А.Е. Методы математического моделирования: учебное пособие. М.: МФТИ, 2013. 295 с.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Марчевский И.К., Щерица О.В. Численные методы решения задач математической физики: учебно-методическое пособие. М.: МГТУ им. Н.Э. Баумана, 2016. 64 с.</mixed-citation><mixed-citation xml:lang="en">Марчевский И.К., Щерица О.В. Численные методы решения задач математической физики: учебно-методическое пособие. М.: МГТУ им. Н.Э. Баумана, 2016. 64 с.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Уильям Э. Практика многопоточного программирования С++. Параллельное программирование на C++ в действии. Практика разработки многопоточных программ. Пер. с англ. Слинкин А. А. М.: ДМК Пресс, 2012. 672с.</mixed-citation><mixed-citation xml:lang="en">Уильям Э. Практика многопоточного программирования С++. Параллельное программирование на C++ в действии. Практика разработки многопоточных программ. Пер. с англ. Слинкин А. А. М.: ДМК Пресс, 2012. 672с.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Зенков А.В. Численные методы: учеб. пособие. Екатеринбург : Изд- во Урал. ун-та, 2016. 124 с.</mixed-citation><mixed-citation xml:lang="en">Зенков А.В. Численные методы: учеб. пособие. Екатеринбург : Изд- во Урал. ун-та, 2016. 124 с.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
