🗊 Презентация Управление ресурсами

Нажмите для полного просмотра!
Управление ресурсами, слайд №1 Управление ресурсами, слайд №2 Управление ресурсами, слайд №3 Управление ресурсами, слайд №4 Управление ресурсами, слайд №5 Управление ресурсами, слайд №6 Управление ресурсами, слайд №7 Управление ресурсами, слайд №8 Управление ресурсами, слайд №9 Управление ресурсами, слайд №10 Управление ресурсами, слайд №11 Управление ресурсами, слайд №12 Управление ресурсами, слайд №13 Управление ресурсами, слайд №14 Управление ресурсами, слайд №15 Управление ресурсами, слайд №16 Управление ресурсами, слайд №17 Управление ресурсами, слайд №18 Управление ресурсами, слайд №19 Управление ресурсами, слайд №20 Управление ресурсами, слайд №21 Управление ресурсами, слайд №22 Управление ресурсами, слайд №23 Управление ресурсами, слайд №24 Управление ресурсами, слайд №25 Управление ресурсами, слайд №26 Управление ресурсами, слайд №27 Управление ресурсами, слайд №28 Управление ресурсами, слайд №29

Вы можете ознакомиться и скачать презентацию на тему Управление ресурсами. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Управление ресурсами
Описание слайда:
Управление ресурсами

Слайд 2


Управление ресурсами, слайд №2
Описание слайда:

Слайд 3


Физические ресурсы Процессор Оперативная память Жесткий диск Сетевой адаптер Видеокарта Звуковая карта Устройства ввода/вывода (клавиатура, мышь,...
Описание слайда:
Физические ресурсы Процессор Оперативная память Жесткий диск Сетевой адаптер Видеокарта Звуковая карта Устройства ввода/вывода (клавиатура, мышь, принтер, сканер и т.п.)

Слайд 4


Виртуальные ресурсы Виртуальная память Файлы Сокеты Объекты синхронизации (мьютекс, критическая секция, семафор и т.п.) Объекты межпроцессного...
Описание слайда:
Виртуальные ресурсы Виртуальная память Файлы Сокеты Объекты синхронизации (мьютекс, критическая секция, семафор и т.п.) Объекты межпроцессного взаимодействия (pipes, mapped files, mailslots и т.п.) Аттрибуты безопасности, дескрипторы объектов ОС и т.п.

Слайд 5


C++ storage duration categories Static – глобальные переменные, статические локальные переменные, статические члены классов. Создаются при запуске...
Описание слайда:
C++ storage duration categories Static – глобальные переменные, статические локальные переменные, статические члены классов. Создаются при запуске приложения и разрушаются при выходе. Thread storage (C++ 11) – переменные, доступные только в потоке (обозначаются ключевым словом thread_local). Создаются при старте потока, разрушаются при завершении его работы. Automatic – локальные переменные. Разрушаются на выходе из блока, в котором они созданы. Dynamic – создаются при помощи операторов new и разрушаются при помощи операторов delete.

Слайд 6


Объекты с автоматической продолжительностью хранения Преимущества: 1. Быстрое выделение памяти. 2. Объекты на стеке автоматически разрушаются при...
Описание слайда:
Объекты с автоматической продолжительностью хранения Преимущества: 1. Быстрое выделение памяти. 2. Объекты на стеке автоматически разрушаются при выходе из области видимости. Недостатки: 1. Размер стека ограничен (по умолчанию в Visual C++ 1Mb для каждого потока). 2. Нужно знать размер объекта на этапе компиляции. 3. Стеком сложнее управлять.

Слайд 7


Специальные методы классов 1. Версии конструкторов копирования и операторов присваивания, генерируемые компилятором, осуществляют “shallow copy”...
Описание слайда:
Специальные методы классов 1. Версии конструкторов копирования и операторов присваивания, генерируемые компилятором, осуществляют “shallow copy” членов. Необходимо переопределять их, если такое поведение неверно. class Test { int* m_data; Test(const Test& other) { m_data = new int(*other.m_data); } };

Слайд 8


Специальные методы классов 2. Проверяйте в операторе присваивание случай самоприсваивания: Test& operator=(const Test& other) { if (this != &other) {...
Описание слайда:
Специальные методы классов 2. Проверяйте в операторе присваивание случай самоприсваивания: Test& operator=(const Test& other) { if (this != &other) { delete m_data; m_data = new int(*other.m_data); } return *this; }

Слайд 9


Общая схема работы с ресурсами Захватить ресурс (open, create, allocate, attach) Использовать ресурс Освободить ресурс (close, free, delete, detach)...
Описание слайда:
Общая схема работы с ресурсами Захватить ресурс (open, create, allocate, attach) Использовать ресурс Освободить ресурс (close, free, delete, detach) Внимание: Если операция захвата ресурса возвращает статус успешности, всегда проверяйте его. Используйте правильную операцию для освобождения ресурса

Слайд 10


Захват ресурса без освобождения
Описание слайда:
Захват ресурса без освобождения

Слайд 11


“Ручное” управление ресурсами
Описание слайда:
“Ручное” управление ресурсами

Слайд 12


Stack unwinding
Описание слайда:
Stack unwinding

Слайд 13


Использование RAII (guards)
Описание слайда:
Использование RAII (guards)

Слайд 14


std::auto_ptr
Описание слайда:
std::auto_ptr

Слайд 15


std::auto_ptr Недостатки: Не может использоваться в контейнерах STL. Не может быть использован с new[]. Неочевидная передача владения (при...
Описание слайда:
std::auto_ptr Недостатки: Не может использоваться в контейнерах STL. Не может быть использован с new[]. Неочевидная передача владения (при копировании и передаче в качестве параметра функции по значению). Нельзя использовать с другими типами ресурсов, отличными от памяти.

Слайд 16


std::unique_ptr
Описание слайда:
std::unique_ptr

Слайд 17


std::unique_ptr
Описание слайда:
std::unique_ptr

Слайд 18


std::unique_ptr
Описание слайда:
std::unique_ptr

Слайд 19


std::make_unique
Описание слайда:
std::make_unique

Слайд 20


std::shared_ptr
Описание слайда:
std::shared_ptr

Слайд 21


std::shared_ptr
Описание слайда:
std::shared_ptr

Слайд 22


Внутреннее устройство shared_ptr
Описание слайда:
Внутреннее устройство shared_ptr

Слайд 23


Пример использования weak_ptr
Описание слайда:
Пример использования weak_ptr

Слайд 24


Передача smart pointers как аргумента
Описание слайда:
Передача smart pointers как аргумента

Слайд 25


Передача smart pointers как аргумента
Описание слайда:
Передача smart pointers как аргумента

Слайд 26


Контейнеры void FillBuffer( void* pBuffer, size_t bufferSize); // version with raw ponter uint8_t *buf = new uint8_t[size]; FillBuffer(buf, size);...
Описание слайда:
Контейнеры void FillBuffer( void* pBuffer, size_t bufferSize); // version with raw ponter uint8_t *buf = new uint8_t[size]; FillBuffer(buf, size); delete[] buf;

Слайд 27


Контейнеры // First DLL vector messages; FillMessages(messages);
Описание слайда:
Контейнеры // First DLL vector messages; FillMessages(messages);

Слайд 28


Exception safety 1. Базовая гарантия – контейнер при возникновении исключения остается в согласованном состоянии; нет утечек ресурсов (пример –...
Описание слайда:
Exception safety 1. Базовая гарантия – контейнер при возникновении исключения остается в согласованном состоянии; нет утечек ресурсов (пример – вставка диапазона элементов). 2. Строгая гарантия – либо операция заканчивается успешно, либо она не выполняется вообще (пример vector::push_back). 3. No-throw (nofail) гарантия – операция всегда заканчивается успешно (пример std::swap). Гарантия предоставляется, если код, предоставляемый пользователем, не оставляет элементы контейнера в недопустимом состоянии; не приводит к утечкам ресурсов и деструкторы не кидают исключений.

Слайд 29


Another guards 1. Часы и таймеры STL. 2. Потоки STL (std::thread, std::mutex, std::lock, etc.). 3. Потоки ввода вывода STL (input/output streams). 4....
Описание слайда:
Another guards 1. Часы и таймеры STL. 2. Потоки STL (std::thread, std::mutex, std::lock, etc.). 3. Потоки ввода вывода STL (input/output streams). 4. «Стражи» в ATL (CComPtr, CComSafeArray, СComBSTR, CComVariant) 5. «Стражи» в boost (scoped_ptr, scoped_array, share_array)



Похожие презентации
Mypresentation.ru
Загрузить презентацию