Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Мультиплексування

Застосування в серверних програмах

Подійно-орієнтоване програмування застосовується в серверних програмах для вирішення проблеми масштабування на велику кількість одночасних з'єднань.

У серверах, побудованих за моделлю «один потік на з'єднання», проблеми з масштабованістю виникають з наступних причин:

- занадто великі накладні витрати на структури даних операційної системи, необхідні для опису однієї задачі;

- занадто великі накладні витрати на перемикання контекстів.

Серверний застосунок при подійно-орієнтованому програмуванні реалізується на системному виклику, який отримує повідомлення події одночасно від багатьох дескрипторів (мультиплексування). При обробці подій використовуються виключно неблокуючі операції введення/виведення, щоб жоден з дескрипторів не перешкоджав обробці подій від інших дескрипторів.

 

Для мультиплексування сполук можуть бути використані наступні засоби операційної системи:

- Select (більшість UNIX систем);

- Poll і epoll (Linux);

- Kqueue (FreeBSD);

- /Dev/poll ( Solaris);

- IO completion port (Windows);

 

Приклади реалізацій

- Веб-сервериNgix та Lighthttpd;

- Проксі-сервер Squid.

4 Застосування в настільних програмах

У сучасних мовах програмування події та обробники подій є центральною ланкою реалізації графічного інтерфейсу користувача. Розглянемо, наприклад, взаємодію програми з подіями від миші. Натискання правої клавіші миші викликає системне переривання, що запускає певну процедуру всередині операційної системи. У цій процедурі відбувається пошук вікна, що знаходиться під курсором миші. Якщо вікно знайдено, то дана подія надсилається в чергу обробки повідомлень цього вікна. Далі, у залежності від типу вікна, можуть генеруватися додаткові події. Наприклад, якщо вікно є кнопкою, то додатково генерується подія натискання на кнопку. Відмінність останньої події в тому, що вона більш абстрактна, а саме, не містить координат курсору, іговорить просто про те, що було вироблено натискання на цю кнопку.

Обробник події може виглядати наступним чином:

 

private void button1_Click (object sender, EventArgs e)

{

MessageBox.Show ("Була натиснута кнопка");

}

 

Тут обробник події являє собою процедуру, в яку передається параметр sender, який, як правило, містить покажчик на джерело події. Це дозволяє використовувати одну й ту ж процедуру для обробки подій від декількох кнопок, розрізняючи їх за цим параметром.

Різні мови програмування підтримують СОП у різному ступені. Найбільш повну підтримку подій представляють такі з них (неповний список):

- Perl;

- Java;

- C#.

Інші мови, у більшості з них, підтримують події як обробку виключних ситуацій.


 

Тема 5 Типи даних. Перетворення типів


Читайте також:

  1. Мал. 7.4. Операції мультиплексування і демультиплексування потоків при комутації.
  2. Мультиплексування і демультиплексування




Переглядів: 829

<== попередня сторінка | наступна сторінка ==>
Сфера застосування | Види приведення даних

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.