Java -практика использования

Интересное здесь: https://novostif.ru/ | Сайт: https://runewsonline.ru/

Подпроцессы


Класс Thread
Класс Thread В классе Thread семь конструкторов: Thread(ThreadGroup group, Runnabie target, String name) — создает ПОД-процесс с именем name, принадлежащий группе group и выполняющий...
Листинг 17 1 Два подпроцесса запущенных
Листинг 17.1. Два подпроцесса, запущенных из главного подпроцесса class OutThread extends Thread{ private String msg;  OutThread(String s, String name){ super(name); msg = s; ...
Два подпроцесса работают без задержки
Рисунок 17.1. Два подпроцесса работают без задержки Уберем в листинге 17.1 комментарии, задержав тем самым выполнение каждой итерации цикла на 0,1 секунды. Пустая обработка исключения Interr...
Подпроцессы работают с задержкой
Рисунок 17.2. Подпроцессы работают с задержкой Как же добиться согласованности, как говорят, синхронизации (synchronization) подпроцессов? Обсудим это ниже, а пока покажем еще два варианта с...
Листинг 17 2 Класс расширяет Thread
Листинг 17.2. Класс расширяет Thread class TwoThreads2 extends Thread{  private String msg;  TwoThreads2(String s, String name){ super(name); msg = s;  }  public...
Листинг 17 3 Реализация интерфейса Runnabie
Листинг 17.3. Реализация интерфейса Runnabie class TwoThreadsS implements Runnabie{ private String msg;  TwoThreads3(String s){ msg = s; }  public void run(){ forfint i = 0;...
Листинг 17 4 Прекращение работы подпроцессов
Листинг 17.4. Прекращение работы подпроцессов class TwoThreadsS implements Runnabie{  private String msg;  private Thread go;  TwoThreadsS(String s){  msg = s; g...
Синхронизация подпроцессов
Синхронизация подпроцессов Основная сложность при написании программ, в которых работают несколько подпроцессов — это согласовать совместную работу подпроцессов с общими ячейками памяти. К...
Листинг 17 5 Синхронизация метода
Листинг 17.5. Синхронизация метода class TwoThreads4 implements Runnable{  public void run(){ // synchronized public void run(){  System.out.print("Hello, "); ...
Синхронизация метода
Рисунок 17.3. Синхронизация  метода Действия, входящие в синхронизированный блок или метод образуют критический участок (critical section) программы. Несколько подпроцессов, собирающихс...
Согласование работы нескольких подпроцессов
Согласование работы нескольких подпроцессов Возможность создания многопоточных программ заложена в язык Java с самого его создания. В каждом объекте есть три метода wait о и один метод notif...
Листинг 17 6 Несогласованные подпроцессы
Листинг 17.6. Несогласованные подпроцессы class Store{ private inf inform; synchronized public int getlnform(){ return inform; } synchronized public void setlnform(int n){ inform = n;...
Несогласованная работа двух подпроцессов
Рисунок 17.4. Несогласованная работа двух подпроцессов В листинге 17.7 в класс store внесено логическое поле ready, отмечающее процесс получения и выдачи информации. Когда новая порция инфор...
Листинг 17 7 Согласование получения и выдачи информации
Листинг 17.7. Согласование получения и выдачи информации class Store{ private int inform = -1; private boolean ready; synchronized public int getlnform(){  try{ if (! ready) wai...
Согласованная работа подпроцессов
Рисунок 17.5. Согласованная  работа подпроцессов Обратите внимание: сообщение "Got: 0" отстает на один шаг от действительного получения информации.  ...
Приоритеты подпроцессов
Приоритеты подпроцессов Планировщик подпроцессов виртуальной машины Java назначает каждому подпроцессу одинаковое время выполнения процессором, переключаясь с подпроцесса на подпроцесс по ис...
Подпроцессыдемоны
Подпроцессы-демоны Работа программы начинается с выполнения метода main о главным подпроцессом. Этот подпроцесс может породить другие подпроцессы, они, в свою очередь, способны породить свои...
Группы подпроцессов
Группы подпроцессов Подпроцессы объединяются в группы. В начале работы программы исполняющая система Java создает группу подпроцессов с именем main. Все подпроцессы по умолчанию попадают в э...
Заключение
Заключение Технология Java по своей сути — многозадачная технология, основанная на threads. Это одна из причин, по которым технология Java так и не может разумным образом реализоваться в MS-D...








Начало