Knigionline.co » Программное обеспечение » Java руководство для начинающих

Java руководство для начинающих - Шилдт Герберт (2012)

Java руководство для начинающих
  • Год:
    2012
  • Название:
    Java руководство для начинающих
  • Автор:
  • Жанр:
  • Оригинал:
    Английский
  • Язык:
    Русский
  • Издательство:
    Вильямс
  • Страниц:
    316
  • ISBN:
    978-5-8459-1770-6
  • Рейтинг:
    4.3 (4 голос)
  • Ваша оценка:
"Java: руководство для начинающих", автором которого является Герберт Шилдт, а также на его счету популярные по всему миру книги по языкам программирования, таким образом, чтобы у читателя получилось быстро освоить основные навыки программирования на Java. Полностью обновленное по версии Java Platform, Standard Edition 7, пятое издание этого учебного пособия начинается с обзора самых простейших основ, не исключая выполнение простых программ на Java и компилирование. Далее в нем описаны синтаксические конструкции и ключевые слова составляющие основу Java как языка программирования. Затем следует изложение наиболее передовых языковых средств Java, включая многопоточное и обобщенное программирование. Книга завершается введением в библиотеку Swing. Использованный в книге справочный и учебный материал позволяет читателю быстро и легко освоить основы программирования на Java. В целях упрощения процесса изучения Java, учебник построен следующим образом: - Базовые понятия и навыки. Все главы начинаются с перечня базовых понятий и навыков, которые будет необходимо усвоить читателю. - Обращение к знатоку. Во врезках под этим заголовком даны полезные рекомендации в форме вопрос-ответ. - Примеры для опробования. Это примеры небольших проектов, наглядно показывающие, как применять полученные навыки и знания на практике. - Упражнения для самопроверки. В конце каждой главы присутствуют контрольные вопросы и задания для проверки прочности изученного материала. - Подробные комментарии к примерам программ. Все примеры программ в этом учебном пособии снабжены подробными комментариями, которые описывают приемы программирования Java и демонстрируемые языковые средства.

Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

Этот метод возвращает логическое значение true, если поток, для которого он вызывается, все еще исполняется. В противном случае он возвращает логическое значение false. Для того чтобы опробовать метод isAlive () на практике, замените в предыдущей программе класс MoreThreads новой версией, исходный код которой приведен ниже.

// Применение метода isAlive().

class MoreThreads {

public static void main(String args[]) {

System.out.println("Main thread starting.");

MyThread mtl = new MyThread("Child #1");

MyThread mt2 = new MyThread("Child #2");

MyThread mt3 = new MyThread("Child #3");

do {

System.out.print(" . ") ;

try {

Thread.sleep(100);

}

catch(InterruptedException exc) {

System.out.println("Main thread interrupted.");

}

// Ожидание завершения потоков.

} while (mtl.thrd.isAlive() ||

mt2.thrd.isAlive() ||

mt3.thrd.isAlive());

System.out.println("Main thread ending.");

}

}

Эта версия дает такой же результат, как и предыдущая. Единственное отличие состоит в том, что в данном случае ожидание завершения порожденного потока организовано с помощью метода isAlive (). Вторым средством, позволяющим определить, завершился ли поток, является метод join (), объявление которого приведено ниже.

final void join() throws InterruptedException

Этот метод ожидает завершения потока, для которого он был вызван. Его имя join выбрано потому, что вызывающий поток ожидает, когда указанный поток присоединится (англ.уши) к нему. Имеется и другой вариант метода j oin (), позволяющий указать максимальное время ожидания момента, когда поток завершится.

В приведенном ниже примере программы наличие метода join () гарантирует, что основной поток завершит работу последним.

// Применение метода join().

class MyThread implements Runnable {

Thread thrd;

// построить новый поток

MyThread(String name) {

thrd = new Thread(this, name);

thrd.start(); // начать поток

}

// начать исполнение нового потока

public void run() {

System.out.println(thrd.getName() + " starting.");

try {

for(int count=0; count < 10; count++) {

Thread.sleep(400);

System.out.println("In " + thrd.getName() +

", count is " + count);

}

}

catch(InterruptedException exc) {

System.out.println(thrd.getName() + " interrupted.");

}

System.out.println(thrd.getName() + " terminating.");

}

}

class JoinThreads {

public static void main(String args[]) {

System.out.println("Main thread starting.");

MyThread mtl = new MyThread("Child #1");

MyThread mt2 = new MyThread("Child #2");

MyThread mt3 = new MyThread("Child #3");

try {

// Ожидание до тех nop, пока указанный метод не завершится.

mtl.thrd.join();

System.out.println("Child #1 joined.");

mt2.thrd.join() ;

System.out.println("Child #2 joined.");

mt3.thrd.join();

System.out.println("Child #3 joined.");

}

catch(InterruptedException exc) {

System.out.println("Main thread interrupted.");

}

System.out.println("Main thread ending.");

}

}

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

Main thread starting.

Child #1 starting.

Child #2 starting.

Child #3 starting.

In Child #2, count is 0

In Child #1, count is 0

In Child #3, count is 0

In Child #2, count is 1

In Child #3, count is 1

In Child #1, count is 1

In Child #2, count is 2

In Child #1, count is 2

In Child #3, count is 2

In Child #2, count is 3

In Child #3, count is 3

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий