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

Иван Момчев 

ivan.momtchev@tu-sofia.bg

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

 Версия 3.11   04.06.2021

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

 

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

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

30.01.2007

Иван Момчев

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

1.03.2007-04.06.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.   GuiLift

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

7.1.         Въведение

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

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

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

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

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

10.2.         Пакет java.net

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

10.4.     Класът InetAddress

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

10.6.     Сокети

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

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

10.9.     Chat сървър

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

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

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

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

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

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

13.      SSL сокети

14.      UserDatagramProtocol(UDP)

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

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

        16.1     Въведение
       
        16.2.    Remote method invocation (RMI)

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

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

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