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
| package com.dy.common.util;
|
|
| @SuppressWarnings("unused")
| public abstract class ThreadJob {
| public void start(Callback callback){
| new Thread(() -> {
| Exception[] exe = {null} ;
| Object[] obj = {null} ;
| try {
| obj[0] = execute() ;
| }catch(Exception e){
| e.printStackTrace();
| exe[0] = e ;
| }finally {
| if(callback != null){
| if(exe[0] != null){
| callback.exception(exe[0]);
| }else{
| callback.call(obj[0]);
| }
| }
| }
| }).start();
| }
|
| public abstract Object execute() throws Exception ;
| }
|
|