Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2





НазваниеПрограмма по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2
страница14/20
Дата публикации07.05.2014
Размер1.28 Mb.
ТипУчебное пособие
100-bal.ru > Информатика > Учебное пособие
1   ...   10   11   12   13   14   15   16   17   ...   20

4.4Java


Работа с процессами и потоками

  • Создание процессов

    • Класс java.lang.ProcessBuilder

    • После создания потока его можно принудительно завершить или послать ему данные

  • Создание потоков

    • Наследование от класса java.lang.Thread – основной

    • Реализация интерфейса java.lang.Runnable

Пример создания процесса в Java находится в приложении 2.
Способы синхронизации потоков

  • Ключевое слово synchronized – критическая секция, основной

    • Объявление метода, целиком являющегося критической секцией

    • Выделение критической секции в теле метода

  • Использование типов пакета java.util.concurrent

    • CyclicBarrier

    • CountDownLatch

    • ConcurrentMap

    • BlockingQueue


Модель работы с потоками

  • В JRE до версии 1.2 использовалась модель Green Threads

    • Green Threads – имитация потоков операционной системы

    • JVM берёт на себя заботу о переключении между разными Green Threads

    • Для ОС все Green Threads управляемого процесса являются единственным потоком

    • Даже при использовании Green Threads для ОС JVM представляется в виде нескольких потоков, например, потока, в котором запускается сборщик мусора

  • Преимущества

    • Теоретически выше скорость переключения между Green Threads (реально работает очень медленно)

    • Требуется меньше ресурсов

    • Возможность создания большего количества Green Threads, по сравнению с потоками

  • Недостатки

    • Невозможно выполнить Green Threads на разных процессорах

    • В единицу времени выполняется только один Green Thread

  • Начиная с версии 1.2 в JRE по умолчанию используется модель потоков ОС, но модель Green Threads также поддерживается


Особенности работы с потоками Java в ОС Solaris

  • В ОС Solaris для Java начиная с версии 1.2 возможна использование модели MхN для работы с потоками




Рисунок 19. Java Solaris M:N модель

Управление задачами

  • java.util.concurrent.ThreadPoolExecutor – реализация пула потоков

  • java.util.concurrent.ScheduledThreadPoolExecutor – дополнительная возможность выполнять задания по расписанию или периодически


5Управление и синхронизация процессов и потоков

5.1Функции создания процессов и управления ими



Функция fork

  • pid_t fork(void);

  • Вызов функции приводит к созданию почти полной копии текущего процесса, запущенного с момента вызова функции fork

  • Возвращаемое значение – идентификатор потока, позволяющий определить, является ли выполняющийся процесс исходным или порождённым

    • В исходном процессе возвращается идентификатор порождённого процесса

    • В порождённом процессе возвращается 0

    • Возвращает -1 в случае, если создать дополнительный процесс не удалось (код ошибки заносится в errno)

  • Отличия порождённого процесса от исходного

    • идентификатор процесса (PID, PPID)

    • израсходованное время ЦП (оно обнуляется в момент создания)

    • сигналы процесса-родителя, требующие ответа

    • заблокированные файлы (record locking)

  • Прототип функции описан в файле unistd.h

  • Тип возвращаемого значения описан в файле sys/types.h

  • Дополнительная информация http://www.opengroup.org/onlinepubs/009695399/functions/fork.html


Семейство функций exec и переменная environ

  • int execl(const char *path, const char *arg0, ... /*, (char *)0 */);

  • int execv(const char *path, char *const argv[]);

  • Запуск нового процесса и завершение выполнения текущего процесса: замена текущего процесса новым

  • Возвращаемое значение

    • В случае ошибки -1 (код ошибки заносится в errno)

    • В случае успеха возвращаемое значение отсутствует, поскольку текущий процесс успешно завершается

  • Отличия между вариантами функции в её семействе определяются набором параметров

  • Прототипы функций описаны в файле unistd.h

  • extern char **environ; – дополнительно используемая глобальная переменная

    • Инициализируется как указатель на массив указателей на строки переменных среды (environment strings)

  • Дополнительная информация http://www.opengroup.org/onlinepubs/009695399/functions/exec.html


Семейство функций waitpid

  • pid_t wait(int *stat_loc);

  • pid_t waitpid(pid_t pid, int *stat_loc, int options);

  • Ожидание завершения одного или нескольких дочерних процессов

  • Функция позволяет получить информацию только об одном завершённом процессе, для получения информации о нескольких процессах функцию нужно вызвать несколько раз

  • Варианты работы в зависимости от значения параметра pid

    • pid = -1: выполняется ожидание завершения любого дочернего процесса (вызов waitpid эквивалентен вызову wait)

    • pid > 0: выполняется ожидание завершения дочернего процесса с указанным идентификатором

    • pid = 0: выполняется ожидание завершения дочернего процесса с идентификатором группы процесса, равным идентификатору группы текущего процесса

    • pid < -1: выполняется ожидание завершения дочернего процесса с идентификатором группы процесса, равным идентификатору группы, заданному абсолютным значением pid

  • Параметр stat_loc содержит указатель на информацию о причине завершения дочернего процесса, извлекаемую с помощью макросов

  • Параметр options задаётся в соответствии со значениями именованных констант, позволяет обеспечить неблокирующий вызов функции и отфильтровать завершённые процессы, по которым уже возвращалось состояние в предыдущих вызовах функции

  • Возвращаемое значение

    • В случае успеха – идентификатор завершившегося процесса

    • В случае ошибки -1 (код ошибки заносится в errno)

  • Прототип функции описан в файле sys/wait.h

  • Тип возвращаемого значения описан в файле sys/types.h

  • Дополнительная информация http://www.opengroup.org/onlinepubs/009695399/functions/waitpid.html


Функция kill

  • int kill(pid_t pid, int sig);

  • Посылает сигнал процессу или группе процессов

  • Варианты работы в зависимости от значения параметра pid

    • pid = -1: выполняется отправка сигнала всем процессам (за исключением системных процессов), к которым допустимо отправлять сигналы текущему процессу

    • pid > 0: выполняется отправка сигнала процессу с указанным идентификатором

    • pid = 0: выполняется отправка сигнала процессам с идентификатором группы процесса, равным идентификатору группы текущего процесса

    • pid < -1: выполняется отправка сигнала процессам с идентификатором группы процесса, равным идентификатору группы, заданному абсолютным значением pid

  • Прототип функции описан в файле signal.h

  • Дополнительная информация http://www.opengroup.org/onlinepubs/009695399/functions/kill.html


Функция signal

  • void (*signal(int sig, void (*func)(int)))(int);

  • Задаёт функцию обратного вызова для обработки поступившего сигнала текущему процессу

  • Параметр sig определяет значение сигнала, для которого назначается обработчик

  • Варианты работы в зависимости от значения параметра func

    • SIG_DFL – к указанному сигналу подключается обработчик по умолчанию

    • SIG_IGN – процесс не обрабатывает поступление указанного сигнала

    • Указатель на функцию – к указанному сигналу подключается обработчик в виде заданной указателем функции

  • Возвращаемое значение – указатель на функцию обратного вызова, являющуюся старым обработчиком сигнала

  • Прототип функции описан в файле signal.h

  • Дополнительная информация http://www.opengroup.org/onlinepubs/009695399/functions/signal.html


1   ...   10   11   12   13   14   15   16   17   ...   20

Похожие:

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Проектно-образовательная деятельность по формированию у детей навыков безопасного поведения на улицах и дорогах города
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: Создание условий для формирования у школьников устойчивых навыков безопасного поведения на улицах и дорогах
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
«Организация воспитательно- образовательного процесса по формированию и развитию у дошкольников умений и навыков безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: формировать у учащихся устойчивые навыки безопасного поведения на улицах и дорогах, способствующие сокращению количества дорожно-...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Конечно, главная роль в привитии навыков безопасного поведения на проезжей части отводится родителям. Но я считаю, что процесс воспитания...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспитывать у детей чувство дисциплинированности и организованности, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Всероссийский конкур сочинений «Пусть помнит мир спасённый» (проводит газета «Добрая дорога детства»)
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспиты­вать у детей чувство дисциплинированности, добиваться, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...



Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск