Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
Пример для опробования 11.2.
Управление основным потоком.
*/
class UseMain {
public static void main(String args[]) {
Thread thrd;
// получить основной поток
thrd = Thread.currentThread();
// отобразить имя основного потока
System.out.println("Main thread is called: " +
thrd.getName());
// отобразить приоритет основного потока
System.out.println("Priority: " +
thrd.getPriority());
System.out.println();
// установить имя и приоритет основного потока
System.out.println("Setting name and priority.\n");
thrd.setName("Thread #1");
thrd.setPriority(Thread.NORM_PRI0RITY+3);
System.out.println("Main thread is now called: " +
thrd.getName());
System.out.println("Priority is now: " +
thrd.getPriority());
}
}
Ниже приведен результат выполнения данной программы.
Main thread is called: main
Priority: 5
Setting name and priority.
Main thread is now called: Thread #1
Priority is now: 8
Выполняя операции над основным потоком, необходимо соблюдать осторожность. Так, если добавить в конце метода main () приведенный ниже код, программа никогда не завершится, потому что будет ожидать завершения основного потока!try {
thrd.join();
} catch(InterruptedException exc) {
System.out.println("Interrupted");
}
Упражнение для самопроверки по материалу главы 11
Каким образом имеющиеся в Java средства многопоточного программирования позволяют писать более эффективные программы?
Для поддержки многопоточного программирования в Java предусмотрен класс и интерфейс .
В каких случаях следует отдать предпочтение расширению класса Thread над реализацией интерфейса Runnable?
Покажите, как с помощью метода j oin () можно организовать ожидание завершения потокового объекта MyThrd.
Покажите, как установить приоритет потока MyThrd на три уровня выше нормального приоритета.
Что произойдет, если в объявлении метода указать ключевое слово synchronized?
Методы wait () и notify () служат для __ .
Внесите в класс TickTock изменения для организации настоящего отчета времени. Первую половину секунды должен занимать вывод на экран слова "Tick", а вторую — вывод слова "Tock". Таким образом, сообщение "Tick-Tock" должно соответствовать одной секунде отсчитываемого времени. (Время переключения контекстов можно не учитывать.)
Почему в новых программах на Java не следует применять методы suspend(), resume() и stop()?
С помощью какого метода из класса Thread можно получить имя потока?
Какое значение возвращает метод isAlive () ?
Попытайтесь самостоятельно реализовать средства синхронизации в классе Queue, разработанном в предыдущих главах. В результате доработки класс должен действовать правильно, когда он используется для многопоточной обработки.
Глава 12
Перечисления, автоупаковка, статический импорт и аннотации
Основные навыки и понятия
Представление о перечислениях
Применение свойств перечислений, основанных на классах
Применение методов values () и valueof () к перечислениям
Создание перечислений с конструкторами, переменными экземпляра и методами
Применение методов ordinal () и compareTo (), наследуемых перечислениями от класса Enum
Использование оболочек типов Java
Основные положения об автоупаковке и автораспаковке
Применение автоупаковки в методах
Употребление автоупаковки в выражениях
Применение статического импорта
Основные положения об аннотациях