Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Overview

Boost , Chapter 1. Context , Chapter 1. Context

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Boost.Context— это фундаментальная библиотека, которая обеспечивает своего рода совместную многозадачность на одной нити. Предоставляя абстракцию текущего состояния выполнения в потоке тока, включая стек (с локальными переменными) и указатель стека, все регистры и флаги процессора, а также указатель инструкций,execution_contextпредставляет собой конкретную точку в пути выполнения приложения. Это полезно для построения абстракций более высокого уровня, таких как,кооперативные нити (пользовательские нити)или эквивалентC# ключевое слововыходв C++.

execution_contextпредоставляет средства для приостановки текущего пути выполнения и передачи управления исполнением, тем самым позволяя другому контексту работать на текущем потоке. Этот механизм полного переноса состояния позволяет контексту приостановить выполнение внутри вложенных функций, а затем возобновить с места, где оно было приостановлено. В то время как путь выполнения, представленныйexecution_context, работает только на одной нити, он может быть перенесен на другую нить в любой момент времени.

Переключение контекста между потоками требует системных вызовов (включая ядро ОС), которые могут стоить более тысячи циклов процессора на процессорах x86. Напротив, передача управления между ними требует только нескольких циклов процессора, потому что она не включает системные вызовы, как это делается в одном потоке.

Чтобы использовать классы и функции, описанные здесь, вы можете либо включить конкретные заголовки, указанные в описаниях каждого класса или функции, либо включить главный заголовок библиотеки:

#include <boost/context/all.hpp>

который включает в себя все остальные заголовки в свою очередь.

Все функции и классы содержатся в пространстве именboost::context.

[Note] Note

Эта библиотека требует C++11!


PrevUpHomeNext

Статья Overview раздела Chapter 1. Context Chapter 1. Context может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 1. Context ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 05:38:47/0.005918025970459/0