Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Если будет произведено несколько вызовов загрузки библиотеки с одним и тем же именем, произведен будет только первый, а все остальные будут проигнорированы.
• public void load(String filename) - подгружает файл с указанным названием в качестве библиотеки. В принципе, этот метод работает так же, как и метод loadLibrary(), только принимает в качестве параметра именно название файла, а не библиотеки, тем самым позволяя загрузить любой файл с native кодом;
• public Process exec(String command) - в отдельном процессе запускает команду, представленную переданной строкой. Возвращаемый объект Process может быть использован для взаимодействия с этим процессом.
Process
Объекты этого класса получаются вызовом метода ехес() у объекта Runtime, запускающего отдельный процесс. Объект класса Process может использоваться для управления процессом и получения информации о нем.
Process - абстрактный класс, определяющий, какие методы должны присутствовать в реализациях для конкретных платформ. Объекты класса Process:
• public InputStream getlnputStream() - дает возможность получать поток ввода процесса;
• getErrorStream(), getOutputStream() - методы, аналогичные getlnputStream(), но получающие, соответственно, стандартные потоки сообщений об ошибках и вывода;
• public void destroy() — уничтожает процесс; все подпроцессы, запущенные из него, также будут уничтожены;
• public int exitValueQ - возвращает код завершения процесса; по соглашению, код завершения, равный 0, означает нормальное завершение;
• public int waitFor() - вынуждает текущий поток выполнения приостановиться до тех пор, пока не будет завершен процесс, представленный этим экземпляром Process; возвращает значение кода завершения процесса.
Даже если в приложении Java не будет ни одной ссылки на объект Process, процесс не будет уничтожен и будет продолжать асинхронно выполняться до своего завершения. Спецификацией не оговаривается механизм, с помощью которого будет выделяться процессорное время на выполнение процессов Process и потоков Java. Поэтому при проектировании программ не стоит полагаться ни на какой из них, так как различные Java-машины могут демонстрировать различное поведение.
Потоки исполнения
Многопоточная архитектура в Java была подробно рассмотрена в лекции 12. Остановимся более подробно на методах применяемых классов.