Многопоточное программирование. Поточная модель Java

Страницы работы

Содержание работы

Тема 7. Многопоточное программирование

7.1. Поточная модель Java

Вопросы

1. Что такое многопоточность?

2. Что такое поток?

3. Для чего исполнительная система Java использует потоки?

4. В каких состояниях могут существовать потоки?

5. В чем заключается главная ценность многопоточной среды?

Тест

1. Самая мелкая единица диспетчеризации в многозадачной среде, основанной на потоках:

а) процесс;

б) программа;

в) поток;

г) задача.

2. Какие из следующих форм многозадачности существуют? Основанные на:

а) процессах;

б) программах;

в) операциях;

г) потоках.

3. Многозадачность – это свойство, которое позволяет компьютеру выполнять несколько программ:

а) в разное время;

б) одновременно;

в) через определенные промежутки времени.

4. Поток может находиться в состоянии:

а) приостановки;

б) выполнения;

в) готовности к выполнению;

г) блокировки; д) все варианты верны.

Ответы на тесты:  …(1) в…(2) а, г…(3) б…(4) д…

7.2. Класс Thread и интерфейс Runnable

Вопросы

1. Для чего используются класс Thread и интерфейс Runnable?

2. Какой метод необходимо определить в классе для реализации интерфейса Runnable?

3. Какую форму имеет один из конструкторов класса Thread?

4. Внимательно рассмотрите пример создания нового потока и укажите  ошибку в программном коде:

class NewThread () implements Runnable

Thread t;

NewThread () {

t = new Thread (this, “Demo Thread”);

System. out. println (“Дочерний поток:” +t);

Тест

1. Какой метод нужно определить в классе для реализации интерфейса Runnable?

а) run ();

б) start ();

в) main ();

г) join ().

2. Какой метод должен вызываться для начала выполнения нового потока?

а) run ();

б) start ();

в) main ();

г) join ().

3. Форма объявления метода run () следующая:

а) void run ();

б) public run ();

в) void public run ();

г) public void run ().

Ответы на тесты:  …(1) а…(2) б…(3) г…

7.3. Главный поток

Вопросы

1. Какой поток называется главным?

2. Что происходит, когда главный поток останавливается?

3. Как можно управлять главным потоком?

4. Почему главный поток имеет большую важность?

5. Для чего применяется метод currentThread ()?

Тест

1. Когда главный поток останавливается, программа:

а) завершается;

б) продолжает работу; в) приостанавливает работу на время.

2. Для организации управления главным потоком, необходимо получить ссылку на него, вызывая метод:

а) start ();

б) run ();

в) currentThread ();

г) setName ().

3. Какое имя имеет главный поток по умолчанию:

а) никакого;

б) main;

в) mainThread;

г) startThread.

4. Что можно сделать с помощью метода, объявленного в следующем виде –  finalvoidsetName (StringthreadName):

а) прочитать существующее имя потока; б) прочитать предыдущее имя потока;

в) установить новое имя потока;

г) прочитать новое имя потока.

Ответы на тесты:  …(1) а…(2) в…(3) б…(4) в…

7.4. Создание потока

Вопросы

1. Объект какого типа строят для создания потока в общем случае?

2. Первый способ создания потока в Java?

3. Второй способ создания потока в Java?

4. Кратко охарактеризуйте первый способ.

5. Кратко охарактеризуйте второй способ.

Тест

1. В самом общем случае для создания потока строят объект типа:

а) mainThread;

б) startThread;

в) Thread;

г) firstThread.

2. Сколько способов создания нового потока существует в Java?

а) один;

б) два;

в) три;

г) четыре.

3. Для создания нового потока в Java можно реализовать интерфейс:

а) Serialiazible;

б) Enumeration;

в) Collection;

г) Runnable.

4. Расширив какой класс, можно создать новый поток?

а) String;

б) Thread;

в) Object;

г) System.

Ответы на тесты:  …(1) в…(2) б…(3) г…(4) б…

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

Вопросы

1. Для чего используется интерфейс Runnable?

2. Что определено в Runnable?

3. Какой метод необходимо определить в классе для реализации интерфейса Runnable?

4. Что нужно определить внутри метода run ()?

Тест

1. Для создания нового потока в Java можно реализовать интерфейс:

а) Runnable;

б) Collection;

в) Enumeration; г) Serialiazible.

2. Метод с каким именем нужно определить в классе для реализации интерфейса Runnable?

а) start ();

б) run ();

в) main ();

г) join ().

3. Объект какого типа нужно организовать внутри класса, который реализует Runnable?

а) Thread;

б) String;

в) mainThread;

г) mainString.

4. С помощью какого метода можно начать выполнение созданного потока?

а) run ();

б) begin ();

в) start ();

г) main ().

Ответы на тесты:  …(1) а…(2) б…(3) а…(4) в…

7.6. Расширение класса Thread

Вопросы

1. Для чего используется расширение класса Thread?

2. Что необходимо создать для генерации потока с помощью расширения класса Thread?

3. Какой метод должен переопределять расширяющий класс?

4. Для чего вызывается метод start ()?

5. Найдите ошибку в тексте программного кода:

class NewThread extends class Thread {

NewThread () {

Super (“Demo Thread”);

System. out. println (“Дочерний поток:” + this);

(ошибка: в первой строке второе classне нужно)

Тест

1. Сколько полей в классе Thead?

а) один;

б) два;

в) три;

г) четыре.

2. Какие из следующих методов являются методами класса Thread?

а) destroy;

б) getPriority;

в) join;

г) resume;

д) все выше перечисленные.

Похожие материалы

Информация о работе