Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java -вопросы.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
162 Кб
Скачать
☆
  1. Способы компоновки интерфейса пользователя. // layouts

  2. Назначение многопоточных приложений. //веб

Ниже перечислены три главные причины использования в программе многих потоков.

• Чтобы клиентское приложение всегда немедленно реагировало на действия пользователя. Если приложение выполняет длительную задачу, она захватывает процессор, и приложение перестает реагировать на действия пользователя. Ему приходится ждать, пока закончится выполнение вспомогательной задачи. Поль­зователям такое поведение программы, естественно, не понравится. Радикальное решение проблемы состоит в направлении (маршаллизации) вспомогательной за­дачи в другой поток, в результате чего интерфейс, обслуживаемый первым пото­ком, будет немедленно реагировать на действия пользователя. Можно также пре­доставить пользователю возможность отменить вспомогательную задачу в любой момент, когда она еще не завершена.

• Для решения нескольких задач одновременно. При использовании типичного однопроцессорного компьютера многозадачность сама по себе не повышает про­изводительность. Фактически производительность даже немного уменьшается вследствие накладных расходов на создание потоков. Однако для многих задач ха­рактерны существенные интервалы бездействия процессора. Например, процес­сор работает не все время при загрузке данных из внешнего источника (веб-сайта, базы данных и т.д.) или при коммуникации с отдаленным компонентом. Когда вы­полняются эти задачи, процессор большую часть времени не занят. Уменьшить время ожидания нельзя, потому что оно определяется пропускной способностью канала и производительностью сервера, однако можно полнее загрузить процес­сор другими задачами. Например, можно одновременно передать запросы трем разным веб-службам, уменьшив таким образом общее время ожидания.

• Для обеспечения расширяемости приложения на стороне сервера. Сервер­ная часть приложения должна одновременно обслуживать произвольное (обыч­но большое) количество клиентов. Одновременность обеспечивается серверной технологией (например, ASP.NET). Разработчик приложений Silverlight может соз­дать собственную инфраструктуру серверной части. Например, в главе 20 рас­сматривается создание приложений на основе сокетов и сетевых классов .NET. Однако подобные технологии обычно касаются серверных приложений, а не при­ложений Silverlight.

  1. Способы создания потоков.

наследоваться от класса Thread

можно создать, реализуя интерфейс Runnable

  1. Блокировки потоков.

sleep();

wait();

notify();

  1. Управление приоритетами потоков.

setPriority(1-5-10);

MIN-NORM-MAX

  1. Методы управления обработки критических секций и синхронизации потоков.

synchronized

  1. Семафоры и мониторы в Java.

Каждый объект в джава может быть заблокировано а следовательно быть монитором

Через синхронизацию будет работать семафоры

12

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]