Какие результаты компиляции и выполнения фрагмента кода Вы ожидаете?

Какие результаты компиляции и выполнения программы Вы ожидаете?

Что будет результатом выполнения двух потоков, имеющих приоритет 10?

Что будет результатом выполнения пяти потоков, имеющих приоритет 10?

1. public class Multithread implements Runnable{

2. public static void main (String[] args) {

3. Multithread []m=new Multithread[5];

4. Thread []t=new Thread[5];

5. for (int i=0;i<5;i++){

6. m[i]=new Multithread();

7. t[i]=new Thread(m[i],"thread"+i);

8. t[i].setPriority(10); t[i].start();}

9. }

10. public void run() {

11. while(true){

12. System.out.println(Thread.currentThread().getName());}

13. } }

A. Только один нулевой поток t[0] исполнится однократно. Результат: thread=0

B. Только один поток t[0] будет многократно исполняться. Результат: thread =0 thread =0 thread =0 …

C. Пять потоков будут исполняться по очереди однократно. Результат: thread =0 thread =1 thread =2 thread =3 thread =4 .

D. Пять потоков будут исполняться по очереди многократно. Результат: thread =0 thread =1 thread =2 thread =3 thread =4 thread =0 thread =1 thread =2…

E. Пять потоков чередуются неравномерно. Результат, например, может быть таким: thread =0 thread =1 thread =1 thread =2 thread =3 thread =3 thread =3 thread =4 …

 

1. public class Multithread implements Runnable {

2. public static void main (String[] args) {

3. Multithread []m=new Multithread[2];

4. Thread []t=new Thread[2];

5. for (int i=0;i<2;i++){

6. m[i]=new Multithread();

7. t[i]=new Thread(m[i],"thread"+i);

8. t[i].setPriority(10); t[i].start();}

9. }

10. public void run() {

11. while(true){

12. System.out.println(Thread.currentThread().getName());

13. Thread.yield();} }

14. }

A. Только один нулевой поток t[0] исполнится однократно. Результат: thread=0

B. Только один поток t[0] будет многократно исполняться. Результат: thread =0 thread =0 thread =0 …

C. Два потока исполнятся по очереди однократно. Результат: thread =0 thread =1.

D. Два потока будут исполняться по очереди многократно. Результат: thread =0 thread =1 thread =0 thread =1 thread =0 thread =1 thread =0 thread =1…

E. Два потока чередуются неравномерно. Результат, например, может быть таким: thread =0 thread =0 thread =1 thread =0 thread =1 thread =1 thread =1 thread =0 …

 

 

1. public static void main(String[] args) {

2. double a=0.0;

3. double b=99e-4;

4. double c=0.99E-2;

5. float e=0.0099;

6. System.out.println("a/b="+a/b+"b/c="+b/c+"c/a="+c/a+ "e/b="+e/b);}

A. Ошибка компиляции в строке 3 при инициализации переменной b.

B. Ошибка компиляции в строке 4 при инициализации переменной с.

C. Исключение в строке 6 при попытке деления на нуль (с/а).

D. Ошибка компиляции в строке 5 при попытке преобразовать тип double в тип float

E. Программа компилируется и исполняется без ошибок. В результате будут напечатаны одинаковые значения a/b=0.0, b/c=1.0, c/a=Infinite e/b= 1.0

 

1. int i1=333333,i2=222222;

2. long lres=0;

3. try{

4. lres=i1*i2/i2;

5. System.out.println("lres="+lres);

6. }catch(Exception e){e.printStackTrace();}

A. Код компилируется и выполняется без ошибок. Результат отрицательный, например, lres = - 4715

B. Код компилируется и выполняется без ошибок. Результат lres = 333333

C. Код компилируется и выполняется без ошибок. Результат нулевой lres = 0

D. Ошибка компиляции в строке 4. Требуется преобразование к типу long.

E. Исключение типа ArithmeticException в строке 4, вызванное переполнением разрядной сетки.