Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты (готовые).docx
Скачиваний:
1
Добавлен:
24.09.2019
Размер:
43.89 Кб
Скачать

21. Сетевой протокол – набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включенными в сеть устройствами.

Наиболее известные протоколы: HTTP, FTP, POP, SMTP, стек протоколов TCP/IP, UDP, ICMP.

Сокеты – название программного интерфейса для обеспечения обмена данными между процессами.

Сокет – абстрактный объект, представляющий конечную точку соединения

Сокеты Windows – это интерфейс программирования (API) созданный для реализации приложений в сети на основе стека протоколов TCP/IP ( или протокола UDP). Серверный сокет – прослушивает определённый порт, ожидает входящих подключений.

Клиентский сокет – подключается к определённой машине (имеющей уникальный IP адрес) на определённый порт.

22. Делегат – это тип, который определяет сигнатуру метода. Делегаты используются для передачи методов в качестве аргументов к другим методам. Обработчики событий – это ничто иное, как методы, вызываемые с помощью делегатов.

Пример делегата: private delegate int MyDelegate (int a, int b);

Событие представляет собой сообщение, посылаемое объектом, чтобы сигнализировать о совершении какого-либо действия. При обмене событиями классу отправителя событий не известен объект или метод, который будет получать (обрабатывать) сформированные отправителем события. Необходимо, чтобы между источником и получателем события имелся посредник (или механизм подобный указателю). .NET Framework определяет специальный тип (Delegate), обеспечивающий функциональные возможности указателя функции. Делегат является классом, который может хранить ссылку на метод.

Лямбда выражения являются усовершенствованными анонимными методами и основываются на новом синтаксе.

Во всех лямбда выражениях должен присутствовать лямбда-оператор -> этот оператор разделяет выражение на 2 части:

левая часть – параметры, правая – тело метода.

Преимущества: Используя лямбда-выражения, можно объявлять функции в любом месте кода

Не нужно указывать типы данных (компилятор определяет сам).

Синтаксически выглядит проще.

Пример: найти сумму всех чётных чисел в массиве: int [] a = {30, 45, 66, 12, 3, 90, 22}; Int summa = a.sum ((x) => (x%2 == 0)?x:0);

23. Потоки (threads) – представляют собой последовательность инструкций на выполнение (фактически поток это некоторая функция/процедура). Любой процесс имеет хотя бы один поток. Этот поток представляет собой функцию, с которой начинается программа. Преимущества многопоточных приложений:

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

Улучшенная структура программы - Многопоточные программы легче адаптировать к изменениям требований пользователя.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]