Дать понятия термину «конструктор» и «деструктор»

конструктор (от слова construct — создавать) – это специальный метод класса, который предназначен для инициализации элементов класса некоторыми начальными значениями.

деструктор (от слова destruct — разрушать) — специальный метод класса, который служит для уничтожения элементов класса. Чаще всего его используют тогда, когда в конструкторе,при создании объекта класса, динамически был выделен участок памяти и необходимо эту память очистить, если эти значения уже не нужны для дальнейшей работы программы.

В4: Перечислите существующие операции над семафорами.

Семафоры представляют собой доступные ресурсы, которые могут быть приобретены несколькими потоками в одно и то же время, пока пул ресурсов не опустеет. Тогда дополнительные потоки должны ждать, пока требуемое количество ресурсов не будет снова доступно. Семафоры очень эффективны, поскольку они позволяют одновременный доступ к ресурсам. Семафор есть логическое расширение мьютекса - семафор со счетчиком 1 эквивалентен мьютексу, но счетчик может быть и более 1.

Операции с семафорами: Инициализация, Увеличение на 1, Ждать пока счетчик станет больше 0, после этого уменьшить счетчик на единицу.

Семафор — объект, позволяющий войти в заданный участок кода не более чем n потокам. Определение введено ЭдсгеромДейкстрой.Семафор — это объект, с которым можно выполнить три операции.

1) init(n):

счётчик:= n

2) enter():

ждать пока счётчик станет больше 0; после этого уменьшить счётчик на единицу.

3) leave():

увеличить счётчик на единицу.

Пример: Не более пяти потоков могут одновременно выполнять функцию DoSomething().

semaphore.init(5);

. ....

voidDoSomething(void)

{

semaphore.enter();

. ......

semaphore.leave();

}

Билет 27


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: