Лабораторная работа 4

Задание

Написать свой RSS-Reader, с фильтрами (include и exclude), пулом потоков (свой или Дмитрия Андреевича - быть готовым объяснить принцип работы), удобным интерфейсом, несколькими пользователями (имя пользователя - название файла xml-конфигурации или внутри файла конфигурации блок с атрибутом-именем) в разных табах.

Должна быть предусмотрена возможность как смотреть новости со всех rss-каналов одновременно, так и с каждого по отдельности. Количество rss-каналов - не меньше 5. У разных пользователей должны отличаться каналы хотя бы на 1. Каждый rss-канал считывается в отдельном потоке. Интерфейс не должен зависать при обновлении rss-канала. Предусмотреть механизм открытия новости в браузере.

Переключение пользователей и настройка конфигурации - через контекстное меню приложения или строку меню. См. лабораторную работу 2.

Структура xml-конфигурации (пример):

<root>
<user name="Natasha">
    <count>5</count> // ограничение количества потоков
    <channels> // каналы
        <channel>http://tut.by/rss</channel>
        <channel>http://onliner.by/rss</channel>
    </channels>
    <filters> // фильтры
        <include method="or">
            <item>IT</item>
            <item>BSUIR</item>
        </include>
        <exclude method="and">
            <item>Ruby</item>
        </exclude>
    </filters>
</user>
</root>

Контрольные вопросы

  1. Как работает пул потоков?
  2. Особенности формата RSS.
  3. Как работает синхронизация потоков в программе?

results matching ""

    No results matching ""