Skip to content

Commit 054846a

Browse files
committed
see 05/22 log
1 parent ce2b509 commit 054846a

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

utilcode/src/main/java/com/blankj/utilcode/util/ThreadUtils.java

+10-6
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* author: Blankj
2424
* blog : http://blankj.com
2525
* time : 2018/05/08
26-
* desc :
26+
* desc : utils about thread
2727
* </pre>
2828
*/
2929
public final class ThreadUtils {
@@ -280,11 +280,14 @@ public static <T> void executeByCustomAtFixRate(final ExecutorService pool,
280280
executeAtFixedRate(pool, task, initialDelay, delay, unit);
281281
}
282282

283-
284283
public static void cancel(final Task task) {
285284
task.cancel();
286285
}
287286

287+
public static boolean isMainThread() {
288+
return Looper.myLooper() == Looper.getMainLooper();
289+
}
290+
288291
private static <T> void execute(final ExecutorService pool, final Task<T> task) {
289292
executeWithDelay(pool, task, 0, TimeUnit.MILLISECONDS);
290293
}
@@ -424,9 +427,10 @@ public abstract static class Task<T> implements Runnable {
424427
private boolean isSchedule;
425428

426429
private volatile int state;
427-
private static final int NEW = 0;
428-
private static final int COMPLETING = 1;
429-
private static final int CANCELLED = 2;
430+
private static final int NEW = 0;
431+
private static final int COMPLETING = 1;
432+
private static final int CANCELLED = 2;
433+
private static final int EXCEPTIONAL = 3;
430434

431435
public Task() {
432436
state = NEW;
@@ -445,7 +449,6 @@ public Task() {
445449
public void run() {
446450
try {
447451
final T result = doInBackground();
448-
449452
if (state != NEW) return;
450453

451454
if (isSchedule) {
@@ -468,6 +471,7 @@ public void run() {
468471
} catch (final Throwable throwable) {
469472
if (state != NEW) return;
470473

474+
state = EXCEPTIONAL;
471475
Deliver.post(new Runnable() {
472476
@Override
473477
public void run() {

0 commit comments

Comments
 (0)