Главная » Java » Процессы

0

 

   Вы уже знаете, что работающее приложение может обладать множеством потоков вычислений (threads). Большинство систем, на которых способны функционировать виртуальные машины Java, в свою очередь поддерживает возможность единовременного выполнения множества самостоятельных приложений. Одна Java-программа вправе загрузить другую программу с помощью методов семейства Runtime.exec. При каждом успешном вызове метода exec создается новый объект класса Process, представляющий программу, выполняемую в контексте ее собственного процесса (process). Process — это абстрактный класс, и классы, производные от него, отражают особенности функционирования процессов в той или иной операционной системе. Методы объекта Process позволяют запрашивать информацию о состоянии процесса и управлять его протеканием. Метод exec класса Runtime, служащий для создания процессов, определен в нескольких перегруженных формах — две базовые описаны ниже.

 public Process exec(String[]  cmdArray)  throws lOException

Активизирует команду, представляемую массивом строк cmdArray, в среде операционной системы. Возвращает объект Process, соответствующий созданному процессу. Элемент массива cmdArray[0]  задает наименование команды, а остальные элементы трактуются как параметры командной строки.

 public Process exec(String command)  throws lOException

Метод аналогичен предыдущему — за тем исключением, что содержимое параметра-строки command расщепляется на лексемы, разделенные символами пробела, посредством объекта StringTokenizer, предлагаемого по умолчанию (см. раздел 17.4).

   Вновь созданный процесс принято называть дочерним (child), а процесс-инициатор — родительским (parent).

   Создание процессов — это привилегированная (privileged) операция, и если процесс-инициатор не обладает достаточным уровнем полномочий, выбрасывается исключение типа Securi tyException. Если попытка создания процесса завершается неудачей по иным причинам, выбрасывается исключение типа lOException.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии