Статьи

Современная C ++ Threading

C ++ , как язык, возродился за последние несколько лет. Лично я думаю, что есть несколько причин для этого. За последние несколько лет встроенное программирование и устройства IoT стали более распространенными целями разработки, и C ++ стал проще в использовании, поскольку стандартная библиотека и общий синтаксис языка стали более мощными (благодаря auto!). Кроме того, программирование с универсальными типами стало гораздо более распространенным, что делает шаблоны C ++ немного более понятными для тех, кто только начинает.

Вам также может понравиться: Как мы можем контролировать / планировать выполнение потоков в C, C ++?

Одним из ключевых улучшений в стандартной библиотеке является программирование на основе задач. У нас всегда была поддержка потоков, но программирование на основе задач развивалось в течение последних нескольких лет. На этом этапе у вас есть надежный вариант на основе задач с std :: async (.) . Вы должны использовать это! Это надежный, хорошо продуманный и производительный. Если вы не должны. Как вы можете сказать?

std :: async реализации. Таким образом, std :: async (.) Не гарантирует, прежде всего, отдельный поток. Что это делает гарантии является асинхронной обработки (или представлены функции лямбда — выражения ). Это простой способ предоставить возвращаемое значение (конечно, вы можете поделиться переменной, чтобы указать состояние между потоками, но наслаждайтесь синхронизацией этого самостоятельно). Но как это может сделать это, если это не в отдельном потоке?

Пример времени!


C ++