Главная /
Программирование на Java /
Каким будет результат работы следующего кода? public abstract class SomeClass implements Runnable{ private Object lock = new Object(); public void lock() { synchronized (lock) { try { lock.wait(); System.out.print("1"); } catch (InterruptedException e) {}
Каким будет результат работы следующего кода?
public abstract class SomeClass implements Runnable{
private Object lock = new Object();
public void lock() {
synchronized (lock) {
try {
lock.wait();
System.out.print("1");
} catch (InterruptedException e) {}
}
}
public void notifyThread() {
synchronized (lock) {
lock.notify();
}
}
public void unlock() {
synchronized (lock) {
lock.notify();
System.out.print("2");
}
}
public static void main(String s[]) {
SomeClass c = new SomeClass() {
public void run() {
lock();
}
};
SomeClass c1 = new SomeClass() {
public void run() {
unlock();
}
};
new Thread(c).start();
new Thread(c1).start();
c.notifyThread();
}
}
вопрос
Правильный ответ:
программа не завершит работу, на консоли ничего не появится
программа завершит работу, на консоли появится
12
программа завершит работу, на консоли появится
21
программа не завершит работу, на консоли появится
1
результат трудно предугадать
Сложность вопроса
76
Сложность курса: Программирование на Java
83
Оценить вопрос
Комментарии:
Аноним
Экзамен сдан и ладушки. лол
22 авг 2017
Аноним
Если бы не эти ответы - я бы не решил c этими тестами интуит.
11 апр 2016
Другие ответы на вопросы из темы программирование интуит.
- # Каким может быть результат работы следующего кода? public abstract class SomeClass implements Runnable{ private Object lock = new Object(); public void lock() { synchronized (lock) { try { System.out.print("1"); lock.wait(); } catch (InterruptedException e) {} } } public void unlock() { synchronized (lock) { lock.notify(); System.out.print("2"); } } public static void main(String s[]) { new Thread(new SomeClass() { public void run() { lock(); } }).start(); new Thread(new SomeClass() { public void run() { unlock(); } }).start(); } }
- # Какие классы используются для работы с протоколом TCP?
- # Какие утверждения относительно состояния объекта верны?
- # Дан следующий класс: class abc.Point { abc.Point(int a, int b) { x = a; y = b; } int x, y; ... } Каков будет результат следующего примера? abc.Point p1 = new abc.Point(3, 4); abc.Point p2 = p1; p1.x = 5; p1 = new abc.Point(4, 4); System.out.print(p2.x - p1.x);
- # Какое из перечисленных ниже имен является простым? MyClass MyClass.name MyClass.name.toString() MyClass.name.toString().hashCode()