
Современные приложения уже активно используют многопоточнось для кратного сокращения времени выполнения процессов. По сути, технология позволяет распределить потоки по ядрам процессора. Написание многопоточных программ требует дополнительных знаний и усиленного контроля багов, но даёт много преимуществ разработчику. Что же это такое, чем полезна и почему важна?
Многопоточность, или multithreading — это возможность одновременно несколько параллельных задач, которые ещё называют потоками. В противоположном случае задачи выполняют друг за другом по предписанному порядку во времени. Примером может служить дорога с одно полосой движения или несколькими (многопоточность).
Многопоточность позволяет повысить производительность процесса за счёт распараллеливания процессорных вычислений и операций ввода-вывода. Кроме того, благодаря multithreading можно упростить программу за счёт использования общего адресного пространства или вынесения слабо взаимосвязанных подзадач в отдельную подсистему многопоточности.
Полезные ссылки:
— Multithreading
— Основы многопоточности
— Внутри процесса: многопоточность и пинг-понг mutex'ом