32 lines
742 B
Java
32 lines
742 B
Java
|
//: concurrency/ResponsiveUI.java
|
||
|
// User interface responsiveness.
|
||
|
// {RunByHand}
|
||
|
|
||
|
class UnresponsiveUI {
|
||
|
private volatile double d = 1;
|
||
|
public UnresponsiveUI() throws Exception {
|
||
|
while(d > 0)
|
||
|
d = d + (Math.PI + Math.E) / d;
|
||
|
System.in.read(); // Never gets here
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public class ResponsiveUI extends Thread {
|
||
|
private static volatile double d = 1;
|
||
|
public ResponsiveUI() {
|
||
|
setDaemon(true);
|
||
|
start();
|
||
|
}
|
||
|
public void run() {
|
||
|
while(true) {
|
||
|
d = d + (Math.PI + Math.E) / d;
|
||
|
}
|
||
|
}
|
||
|
public static void main(String[] args) throws Exception {
|
||
|
//! new UnresponsiveUI(); // Must kill this process
|
||
|
new ResponsiveUI();
|
||
|
System.in.read();
|
||
|
System.out.println(d); // Shows progress
|
||
|
}
|
||
|
} ///:~
|