- •«Объектно-ориентированное программирование (Java, Oracle jDeveloper)»
- •Архитектура и основные концепции Java.
- •Особенности языка Java и его предназначение.
- •Структура пакета Java 2 sdk.
- •Стандартные типы данных. Приведение типов.
- •Операторы ветвления и циклы.
- •Массивы, их особенности в Java.
- •Принципы объектно-ориентированного программирования.
- •Статические поля и методы.
- •Способы инициализации полей данных.
- •Композиция классов. //объект в объекте
- •Пакеты – стандартные и пользовательские.
- •Классы. Инкапсуляция.
- •Стандартные библиотеки Java.
- •Наследование.
- •Наследование и пакеты.
- •Интерфейсы. // Implements
- •Исключительные ситуации, их классификация и различия.
- •Способы компоновки интерфейса пользователя. // layouts
- •Назначение многопоточных приложений. //веб
Способы компоновки интерфейса пользователя. // layouts
Назначение многопоточных приложений. //веб
Ниже перечислены три главные причины использования в программе многих потоков.
• Чтобы клиентское приложение всегда немедленно реагировало на действия пользователя. Если приложение выполняет длительную задачу, она захватывает процессор, и приложение перестает реагировать на действия пользователя. Ему приходится ждать, пока закончится выполнение вспомогательной задачи. Пользователям такое поведение программы, естественно, не понравится. Радикальное решение проблемы состоит в направлении (маршаллизации) вспомогательной задачи в другой поток, в результате чего интерфейс, обслуживаемый первым потоком, будет немедленно реагировать на действия пользователя. Можно также предоставить пользователю возможность отменить вспомогательную задачу в любой момент, когда она еще не завершена.
• Для решения нескольких задач одновременно. При использовании типичного однопроцессорного компьютера многозадачность сама по себе не повышает производительность. Фактически производительность даже немного уменьшается вследствие накладных расходов на создание потоков. Однако для многих задач характерны существенные интервалы бездействия процессора. Например, процессор работает не все время при загрузке данных из внешнего источника (веб-сайта, базы данных и т.д.) или при коммуникации с отдаленным компонентом. Когда выполняются эти задачи, процессор большую часть времени не занят. Уменьшить время ожидания нельзя, потому что оно определяется пропускной способностью канала и производительностью сервера, однако можно полнее загрузить процессор другими задачами. Например, можно одновременно передать запросы трем разным веб-службам, уменьшив таким образом общее время ожидания.
• Для обеспечения расширяемости приложения на стороне сервера. Серверная часть приложения должна одновременно обслуживать произвольное (обычно большое) количество клиентов. Одновременность обеспечивается серверной технологией (например, ASP.NET). Разработчик приложений Silverlight может создать собственную инфраструктуру серверной части. Например, в главе 20 рассматривается создание приложений на основе сокетов и сетевых классов .NET. Однако подобные технологии обычно касаются серверных приложений, а не приложений Silverlight.
Способы создания потоков.
наследоваться от класса Thread
можно создать, реализуя интерфейс Runnable
Блокировки потоков.
sleep();
wait();
notify();
Управление приоритетами потоков.
setPriority(1-5-10);
MIN-NORM-MAX
Методы управления обработки критических секций и синхронизации потоков.
synchronized
Семафоры и мониторы в Java.
Каждый объект в джава может быть заблокировано а следовательно быть монитором
Через синхронизацию будет работать семафоры
