Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения»




Скачать 0.78 Mb.
Название Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения»
страница 5/6
Тип Лабораторная работа
rykovodstvo.ru > Руководство эксплуатация > Лабораторная работа
1   2   3   4   5   6

Создание нескольких потоков

По той же схеме, что создание одного дочернего потока, реализуется создание нескольких потоков. В листинге 4 приведен пример программы, в которой создаются три дочерних потока.
Листинг 4. Создание нескольких дочерних потоков

// Импорт класса Date:

import java.util.Date;

// Класс NewThread наследует класс Thread:

class NewThread extends Thread{

// Параметры потока (название, время задержки, количество итераций):

private String nаmе;

private int time;

privаtе int соunt;

// Конструктор:

NewThread(String name, int time, int count){

super(name);

this.name=name;

Sуstеmutrint("Создан новый поток: "+nаmе+". ");

// Отображение даты и времени:

Sуstеmutrintln("Время: "+new Date()+".");

this.time=time;

this.count=count;

// Запуск потока:

start(); }

// Переопределение метода run():

public void run(){

try{

for (int i=1; i<=count; i++ ) {

Sуstеm.оut.рrint("Поток: "+nаmе+". Сообщение "+i+" из "+count+". ");

// Отображение даты и времени:

Sуstеm.оut.рrintln("Время: "+new Date()+".");

// Приостановка потока:

Thread.sleep(time);}

}catch(InterruptedException е){

Sуstеmutrintln("Прерывание потока"+nаmе);}

finally{

System.out.print("Поток \"" +nаmе+" \" работу завершил! ");

// Отображение даты и времени:

System.out.println("Время: "+new Date()+" . "); }

}}

class MultiThreadDemo{

// Исключение InterruptedException в методе main() не обрабатывается:

public static void main(String args[]) throws InterruptedException{

Sуstеmutrint("Начало работы! ");

// Отображение даты и времени:

Sуstеmutrintln("Время: "+new Date()+".");

// Создание трех дочерних потоков:

new NеwТhrеаd("Красный", 5000, 5);

new NewThread("Желтый", 6000, 4);

new NеwТhrеаd("Зеленый", 7000, 3);

// Приостановка главного потока:

Тhrеаd.slеер(30000);

Sуstеm.оut.рrint("Работа программы завершена! ");

// Отображение даты и времени:

Sуstеmutrintln("Время: "+new Date()+".");

} }
Несмотря на значительно больший объем программного кода по сравнению с предыдущим примером, в данной программе принципиальных изменений практически нет. В основном речь идет о «косметических» мерах. В первую очередь следует отметить, что конструктор класса NewThread, наследующего класс Thread, видоизменен так, что принимает три аргумента; имя создаваемого потока и два целочисленных параметра. Первый параметр определяет величину задержки при выводе потоком сообщений, второй - количество таких сообщений. Эти значения (аргументы конструктора) записываются в закрытые поля класса nаmе, timе и count соответственно.

Основу метода run(), который переопределяется в классе NewThread и задает функциональность потока (то есть выполняемый в потоке код), составляет цикл. Количество итераций задается полем count (которое, в свою очередь, передается третьим аргументом конструктору). За каждую итерацию выводится сообщение с названием потока (параметр nаmе), номером сообщения, ожидаемым количеством сообщений этого потока, а также текущими датой и временем. Для получения даты и времени используется анонимный объект класса Date. Класс Date импортируется командой import java.util.Date в заголовке программы, а безымянный объект создается командой new Date(). При передаче этого объекта аргументом функции println() выводятся системные дата и время.

После вывода сообщения на экран командой Thread.sleep(time) производится приостановка выполнения потока на время time (в миллисекундах) - параметр передается вторым аргументом конструктору класса NewThread.

В конце выполнения потока выводится соответствующее сообщение с именем потока и временем завершения работы. Обращаем внимание, что в этом сообщении имя потока заключается в двойные кавычки, а сам символ двойных кавычек вводится в текст с помощью предваряющей косой черты.

В главном методе программы в классе MultiТhreadDemo выводится сообщение о начале работы с указанием времени начала. Затем следующими командами создаются три анонимных объекта класса NewThread, каждый из которых запускает дочерний поток:
new NewThread("Красный", 5000, 5);

new NеwТhrеаd("Желтый", 6000, 4);

new NewThread("Зеленый", 7000, 3);
После этого командой Тhrеаd.slеер(30000) на 30 секунд приостанавливается выполнение главного потока, чтобы успели закончить работу дочерние потоки. Затем главным потоком выводится сообщение о завершении работы программы (с указанием времени завершения). Результат выполнения программы может иметь следующий вид:
Начало работы! Время: Sat Sep 19 23:39:36 EEST 2014.

Создан новый поток: Красный. Время: Sat Sep 19 23:39:36 EEST 2014.

Создан новый поток: Желтый. Время: Sat Sep 19 23:39:36 EEST 2014.

Создан новый поток: 3еленый. Время: Sat Sep 19 23:39:36 EEST 2014.

Поток: Красный. Сообщение 1 из 5. Время:.Sаt Sep 19 23:39:36 EEST 2014.

Поток: Желтый. Сообщение 1 из 4. Время: Sat Sep 19 23:39:36 EEST 2014.

Поток: 3еленый. Сообщение 1 из 3. Время: Sat Sep 19 23:39:36 EEST 2014.

Поток: Красный. Сообщение 2 из 5. Время: Sat Sep 19 23:39:41 EEST 2014.

Поток: Желтый. Сообщение 2 из 4. Время: Sat Sep 19 23:39:42 EEST 2014.

Поток: 3еленый. Сообщение 2 из 3. Время: Sat Sep 19·23:39:43 EEST 2014.

Поток: Красный. Сообщение 3 из 5. Время: Sat Sep 19 23:39:46 EEST 2014.

Поток: Желтый. Сообщение 3 из 4. Время: Sat Sep 19 23:39:48 EEST 2014.

Поток: 3еленый. Сообщение 3 из 3. Время: Sat Sep 19 23:39:50 EEST 2014.

Поток: Красный. Сообщение 4 из 5. Время: Sat Sep 19 23:39:51 EEST 2014.

Поток: Желтый. Сообщение 4 из 4. Время: Sat Sep 19 23:39:54 EEST 2014.

Поток: Красный. Сообщение 5 из 5. Время: Sat Sep 19 23:39:56 EEST 2014.

Поток "Зеленый" работу завершил! Время: Sat Sep 19 23:39:57 EEST 2014.

Поток "Желтый" работу завершил! Время: Sat Sep 19 23:40:00 EEST 2014.

Поток "Красный" работу завершил! Время: Sat Sep 19 23:40:01 EEST 2014.

Работа программы завершена! Время: Sat Sep 19 23:40:06 EEST 2014.
Наличие момента времени, в который выводится сообщение, позволяет провести достаточно скрупулезный анализ особенностей «наложения» потоков друг на друга. Желающие могут заняться этим самостоятельно.

Еще одна особенность представленного кода состоит в том, что в методе mаin() не производится обработка исключения InterruptedException. Поэтому в сигнатуру метода вынесено сообщение о том, что метод может выбросить такое исключение (throws InterruptedException).
4. Описание лабораторного оборудования (используемых программных комплексов).

Для проведения лабораторного практикума дисциплины необходим компьютерный класс, оснащенный персональными компьютерами в количестве не менее 8 на подгруппу. На компьютерах должна быть загружена операционная система Windows, а также среда программирования Java.
5. Меры безопасности.

Перед началом практикума по дисциплине преподаватель обязан провести инструктаж со студентами о правилах техники безопасности. Инструктаж включает в себя следующий перечень:

правила техники безопасности при работе с электроустановками:

правила техники безопасности при работе за компьютером;

правила пожарной безопасности:

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

Все лаборатории кафедры должны быть оборудованы средствами пожарной сигнализации, сигнализации при опасности, средствами аварийного пожаротушения.

В лабораториях должны находиться:

план эвакуации:

правила техники безопасности.

Перед каждой лабораторной работой группа студентов (подгруппа) должна расписаться об ознакомлении с правилами безопасности в журнале по технике безопасности, находящемся в лаборатории.
6. Задание.

Написать программы для параллельной работы на языке Java.

1. Создать главный поток. Создать 2 потока расширением класса Thread. Приостановка главного потока на 2 сек. Дочерних на 5 сек. Сообщения о времени.

2. Создать главный поток. Создать 3 потока на основе реализации интерфейса Runnablе. Приостановка главного потока на 1 сек. Дочерних на 5 сек. Сообщения о событыях.

3. Создать главный поток. Создать 4 потока расширением класса Thread. Приостановка главного потока на 2 сек. Дочерних на 3 сек. Сообщения об используемом оборудовании.

4. Создать главный поток. Создать 1 поток на основе реализации интерфейса Runnablе. Приостановка главного потока на 1 сек. Дочернего на 5 сек. Сообщения о дате.

5. Создать главный поток. Создать 5 потоков расширением класса Thread. Приостановка главного потока на 1 сек. Дочерних на 0,5 сек. Сообщения о цвете.

6. Создать главный поток. Создать 3 потока на основе реализации интерфейса Runnablе. Приостановка главного потока на 1 сек. Дочерних на 3 сек. Сообщения о номерах.

7. Создать главный поток. Создать 4 потока расширением класса Thread. Приостановка главного потока на 1 сек. Дочерних на 7 сек. Сообщения о дисциплинах.

8. Создать главный поток. Создать 2 потока на основе реализации интерфейса Runnablе. Приостановка главного потока на 2 сек. Дочерних на 3 сек. Сообщения о животных.

9. Создать главный поток. Создать 3 потока расширением класса Thread. Приостановка главного потока на 2 сек. Дочерних на 6 сек. Сообщения о цветах.

10. Создать главный поток. Создать 6 потоков на основе реализации интерфейса Runnablе. Приостановка главного потока на 1 сек. Дочерних на 2 сек. Сообщения о событиях.

7. Методика выполнения задания.

Для выполнения работы необходимо:

Повторить правила техники безопасности при работе с вычислительной техникой.

Изучить раздел "Организация параллельной работы потоков" лекционного курса, а также теоретическую часть настоящих методических указаний.

Получить у преподавателя вариант задания.

Выбрать требование к операционной системе реального времени для изучения на компьютере.

Оформить отчет по лабораторной работе.

Защитить лабораторную работу, продемонстрировав преподавателю:

отчет по лабораторной работе;

умение решать аналогичные задачи;

теоретические знания.
8. Требования к содержанию и оформлению отчета.

Отчет по выполненной лабораторной работе должен содержать:

титульный лист;

условие задания;

текст программы;

руководство пользователя;

отлаженную программу на компьютере.
ЛАБОРАТОРНЫЕ РАБОТЫ 5-8

Разработка диаграмм метода COMET UML–проектирования систем реального времени. Работа с пакетом Rational Rose.
1. Цель работы.

Целью лабораторной работы является закрепление теоретических знаний в области UML проектирования систем реального времени.
2. Задачи.

К задачам лабораторной работы относятся:

Приобретение навыков применения возможностей UML проектирования систем реального времени;

Изучение возможностей пакета RATIONAL ROSE для проектирования систем реального времени.
3. Теоретическая часть.

Объектно-ориентированные методы основаны на концепциях сокрытия информации, классов и наследования. Сокрытие информации позволяет получить замкнутые, а оттого в большей степени поддающиеся модификации и сопровождению системы. Наследование – это систематический способ адаптации классов.

Язык UML, пришедший на смену многочисленным системам нотации и методикам проектирования, предложил нотацию для описания объектно-ориентированных моделей, которая стала промышленным стандартом. Однако для эффективного применения нотации UML необходимо сочетать ее с каким-либо методом объектно-ориентированного анализа и проектирования.

В методе COMET сочетаются прецеденты использования, статическое моделирование, диаграммы состояний и диаграммы последовательности событий, которые встречаются в нескольких методах. Применяемая нотация основана на UML. В ходе моделирования прецедентов использования определяются функциональные требования к системе в терминах актеров и прецедентов. Статическая модель предлагает статический взгляд на информационные аспекты системы. Класс определяется в терминах своих атрибутов и взаимоотношений с другими классами. Результатом динамического моделирования является динамический взгляд на систему. Уточняются сформулированные ранее прецеденты с целью показать взаимодействие объектов, участвующих в каждом из них. Разрабатываются диаграммы кооперации и последовательности, отражающие кооперацию объектов в каждом прецеденте. Зависящие от состояния аспекты системы описываются с помощью диаграмм состояний, причем для каждого объекта составляется своя диаграмма.

В аналитической модели основное внимание уделяется пониманию проблемы: выявлению объектов предметной области и передаваемой между ними информации. Объекты и классы предметной области группируются на основе критериев выделения объектов. Рассмотрение вопросов, активен объект или пассивен, синхронно или асинхронно посылаемое сообщение и какая вызывается операция у объекта-получателя, откладывается до стадии проектирования.

На этапе проектирования среди объектов выявляются активные (их называют задачами) и пассивные (их называют объектами). Для определения задач применяются критерии разбиения на задачи. Разрабатываются также интерфейсы задач и описываются операции каждого пассивного класса.
1   2   3   4   5   6

Похожие:

Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная...
Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»...
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа...
Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать...
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Методические указания для студентов по выполнению лабораторных работ...
Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной...
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №10. Изучение принципа действия и функциональной...
Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №27 Лабораторная работа №28 Контрольные работы...
Пм «Сборка монтаж (демонтаж) элементов судовых конструкций, корпусов, устройств и систем металлических судов»
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №1 «Применение средств операционных систем и...

Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №1 «Применение средств операционных систем и...

Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №
Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка...
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Практическая работа Содержание
Лабораторная работа: Оценка программно-аппаратных средств при переходе на Windows Vista 3
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа 1 Тема работы: Установка операционной системы....
Оответствии с инструкциями преподавателя, последовательность действий, описанных в частях 1 и 2, может быть скорректирована с учетом...
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №2. Расчет матрицы a инерционных коэффициентов...
Лабораторная работа №3. Расчет матриц Якоби (С7, D7j) исполнительного механизма космического манипуляционного робота 9
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Контрольная работа №1 по теме «Организм. Молекулярный уровень»
Лабораторная работа №2 «Изучение клеток и тканей растений и животных на готовых микропрепаратах»
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа Изучение принципов функционирования простейшей микроэвм и процессора
Лабораторная работа Изучение принципов функционирования простейшей микроэвм и процессора I8085A при реализации программы
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №5 Тема: Использование элементов управления, cookie, сессии. Работа с почтой
Запустите файл из папки лабораторной работы №7 для установки Denver. Внимательной следуйте инструкциям программы – установки. Установку...
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №4a
...
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа 4 24 лабораторные работы 5-8 38 введение учебный план по специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем специального назначения» icon Лабораторная работа №1
Целью работы является изучение технологии построения модели процесса в нотации bpmn 0 с использованием

Руководство, инструкция по применению






При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск