Паралелно и разпределено програмиране с Java

Иван Момчев 

ivan.momtchev@tu-sofia.bg

Технически Университет - София, България

 Версия 3.08   16.04.2020

Copyright© 2007 - 2020 Иван Момчев

 

История на версиите

Версия 0.1 Създаден

30.01.2007

Иван Момчев

Версия 0.2-3.08 - коригиране на грешки и допълване

1.03.2007-16.04.2020

Иван Момчев

 

Съдържание

1.      Изключения

2.      Вход-изход

3.      Нишки

3.1.        Създаване

3.2.       Цикъл на живот

3.3.      Прост пример

3.4.       Същият пример с много нишки:

3.5.        Приоритети

4.      Синхронизация

4.1.   Пример без синхронизация

4.2    Критични секции и монитори

4.3.        Пример със синхронизация  със заключване на метод

4.4.         Втори пример - отпечатване на два низа, синхронизация с обект

4.5.        Еднопосочен мост

4.6     Еднопосочен мост с графичен интерфейс

4.7.        Избягване на само-блокиране

4.8.        Взаимно блокиране, подреждане на ресурсите

4.9     Взаимно блокиране,  "толерантност" на нишките

5.      Примери

5.1.     Влак

      5.2.        Плувен басей

      5.3.   Коктейл

6.      Таймери

7.      Банки  от  нишки

7.1.         Въведение

7.2    Реализация на плувен басейн с Thread Pool

7.3    Реализация на еднопосочен мост с Thread Pool

8.     Мрежово програмиране в Java

8.1.         Протоколи TCP/IP

8.2.         Пакет java.net

8.3.     Идентификация на машина в мрежата

8.4.     Класът InetAddress

8.5      Класът URL, кодиране на текстова  информация

8.6.     Сокети

8.7.     Клиенти с име и графичен интерфейс

8.8.    Мулти-клиент сървър с отчитане броя и имената на клиентите

8.9.     Chat сървър

8.10    Chat сървър с отделни стаи

8.11.   Еднопосочен мост с отдалечени клиенти

8.12   Сериализация на обекти през сокети

8.13.   Реализация на стандартен протокол-SMTP

9.     Задача за самостоятелна работа

10.      Конфигурационни инструменти - Properties

11.      Публични и частни ключове

12.      SSL сокети

13.      UserDatagramProtocol(UDP)

14.     Мултикаст сокети

15.   Отдалечени обекти 

        15.1     Въведение
       
        15.2.    Remote method invocation (RMI)

        15.3.         Отдалечени обекти-локална разработка

        15.4.     Отдалечени обекти – разделяне на сървъра от клиента

        15.5.     Отдалечена изчислителна услуга 


16.     RMI аплети

  16.1.    Особености

  16.2.    Отдалечен интерфейс

  16.3.    Отдалечен обект

  16.4.    Сървър

  16.5.    Аплет

  16.6.    Компилиране и създаване на архив

  16.7.    Цифрово подписване на аплета

  16.8.    Пример с Таймер

17.     Задача за самостоятелна работа