OnJava8-Examples/concurrency/ResponsiveUI.java

33 lines
759 B
Java
Raw Normal View History

2015-04-20 15:36:01 -07:00
//: concurrency/ResponsiveUI.java
// User interface responsiveness.
2015-05-05 11:20:13 -07:00
// {TimeOutDuringTesting}
2015-04-20 15:36:01 -07:00
class UnresponsiveUI {
private volatile double d = 1;
public UnresponsiveUI() throws Exception {
while(d > 0)
2015-05-06 12:09:38 -07:00
d += (Math.PI + Math.E) / d;
2015-04-20 15:36:01 -07:00
System.in.read(); // Never gets here
}
}
public class ResponsiveUI extends Thread {
private static volatile double d = 1;
public ResponsiveUI() {
setDaemon(true);
start();
}
2015-05-05 11:20:13 -07:00
@Override
2015-04-20 15:36:01 -07:00
public void run() {
while(true) {
2015-05-06 12:09:38 -07:00
d += (Math.PI + Math.E) / d;
2015-04-20 15:36:01 -07:00
}
}
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
}
} ///:~