Chapter 11 Многопоточное программирование Flashcards

1
Q

Каким образом имеющиеся в Java средства многопоточного программирования обеспечивают создание более эффективных программ?

A

Средства многопоточного программирования дают возможность использовать периоды простоя, возникающие практически в любой программе. Когда операции в одном потоке по каким-то причинам приостановлены, выполняются другие потоки. В многоядерных системах два и более потока могу выполняться одновременно.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Для поддержки многопоточного программирования в Java предусмотрены класс и интерфейс

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

В каких случаях при создании выполняемого объекта следует отдать предпочтение расширению касса Thread, а не реализации интерфейса Runnable?

A

Подклассы, производные от класса Thread, целесообразно создавать в тех случаях, когда помимо метода run ( ) требуется переопределить другие методы данного класса.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Покажите, как с помощью метода join ( ) можно организовать ожидание завершения потокового объекта MyThrd.

A

MyThrd.join();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Покажите, как установить приоритет потока MyThrd на три уровня выше нормального приоритета.

A

MyThrd.setPriority(Thread.NORM_PRIORITY+3);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что произойдет, если в объявлении метода указать ключевое слово synchronized?

A

Когда такой метод получает управление, вызывающий поток активизирует монитор, что приводит к блокированию объекта. Если объект блокирован, он недоступен из другого потока, а кроме того, его нельзя вызвать из других синхронизированных методов, определенных в классе данного объекта. Когда выполнение синхронизированного метода завершается, монитор разблокирует объект, что позволяет другому потоку использовать этот метод.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Методы wait ( ) и notify ( ) предназначены для обеспечения

A

Взаимодействия потоков

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Почему в новых программах на Java не следует применять методы suspend( ) , resume( ) и stop() ?

A

Методы suspend () , resume ( ) и stop ( ) не рекомендуется применять, поскольку они могут стать причиной серьезных осложнений при выполнении программы. (for example, из-за возможной ложной активации)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

С помощью какого метода из класса Thread можно получить имя потока?

A

С помощью метода getName()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Какое значение возвращает метод isAlive ( ) ?

A

Этот метод возвращает значение true, если поток, для которого он вызывается, все еще выполняется. В противном случае он возвращает значение false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly