blob: 5f527e0ab3153992f64f7f0fde3419f244b16d64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package com.koushikdutta.async.future;
import java.util.concurrent.ExecutorService;
/**
* Created by koush on 12/22/13.
*/
public class FutureThread<T> extends SimpleFuture<T> {
public FutureThread(final FutureRunnable<T> runnable) {
this(runnable, "FutureThread");
}
public FutureThread(final ExecutorService pool, final FutureRunnable<T> runnable) {
pool.submit(new Runnable() {
@Override
public void run() {
try {
setComplete(runnable.run());
}
catch (Exception e) {
setComplete(e);
}
}
});
}
public FutureThread(final FutureRunnable<T> runnable, String name) {
new Thread(new Runnable() {
@Override
public void run() {
try {
setComplete(runnable.run());
}
catch (Exception e) {
setComplete(e);
}
}
}, name).start();
}
}
|