👨‍🏫 Что такое многопоточность



Современные приложения уже активно используют многопоточнось для кратного сокращения времени выполнения процессов. По сути, технология позволяет распределить потоки по ядрам процессора. Написание многопоточных программ требует дополнительных знаний и усиленного контроля багов, но даёт много преимуществ разработчику. Что же это такое, чем полезна и почему важна?



Многопоточность, или multithreading — это возможность одновременно несколько параллельных задач, которые ещё называют потоками. В противоположном случае задачи выполняют друг за другом по предписанному порядку во времени. Примером может служить дорога с одно полосой движения или несколькими (многопоточность).



Многопоточность позволяет повысить производительность процесса за счёт распараллеливания процессорных вычислений и операций ввода-вывода. Кроме того, благодаря multithreading можно упростить программу за счёт использования общего адресного пространства или вынесения слабо взаимосвязанных подзадач в отдельную подсистему многопоточности.



➡️ Каждый поток работает параллельно и не требует отдельной области памяти. К тому же, переключение контекста между потоками занимает меньше времени.



Полезные ссылки:

Multithreading

Основы многопоточности

Внутри процесса: многопоточность и пинг-понг mutex'ом