Question sur l'execution des threads
bonjour,
voici mon programme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public class Letters extends Thread {
private String name;
public Letters(String name) { this.name = name; }
public void write() {
System.out.print(name);
System.out.print(name);
744 Chapter 9: Threads
}
public static void main(String[] args) {
new Letters("X").start();
new Letters("Y").start();
} } |
et voici ma question:
Citation:
We want to guarantee that the output can be either XXYY or YYXX, but never XYXY or any
other combination. Which of the following method definitions could be added to the Letters
class to make this guarantee? (Choose all that apply.)
A. public void run() { write(); }
B. public synchronized void run() { write(); }
C. public static synchronized void run() { write(); }
D. public void run() { synchronized(this) { write(); } }
E. public void run() { synchronized(Letters.class) { write(); } }
F. public void run() { synchronized(System.out) { write(); } }
G. public void run() { synchronized(System.out.class) { write(); } }
pourquoi C et D sont incorrectes?!!