Skip to content

Commit b479a53

Browse files
authored
Create README.md
1 parent 9dc1d84 commit b479a53

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

README.md

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# ThreadSwitch
2+
一个方便的主线程和子线程之间的线程切换框架
3+
4+
# 使用说明
5+
- **提交主线程任务**
6+
当你在子线程完成了任务,比如查询数据库等,需要切换到主线程,在主线程中操作
7+
```
8+
WorkerCenter.getInstance().submitMainThreadTask(new ThreadTask() {
9+
@Override
10+
public void onWork() {
11+
//主线程任务
12+
}
13+
});
14+
//主线程延时任务
15+
WorkerCenter.getInstance().submitMainThreadTaskDelay(new ThreadTask() {
16+
@Override
17+
public void onWork() {
18+
//主线程延迟任务
19+
}
20+
},10000);
21+
```
22+
- **提交子线程队列任务**
23+
子线程执行队列任务,根据提交的先后顺序执行,无任何方式的结果通知
24+
```
25+
WorkerCenter.getInstance().submitQueneTask(new ThreadTask() {
26+
@Override
27+
public void onWork() {
28+
//子线程队列任务
29+
}
30+
});
31+
//子线程队列延时任务
32+
WorkerCenter.getInstance().submitQueneTaskDelay(new ThreadTask() {
33+
@Override
34+
public void onWork() {
35+
//子线程队列延时任务
36+
}
37+
},10000);
38+
```
39+
- **提交子线程任务,同时执行多个子任务**
40+
线程池处理提交任务,同时执行。可配置 执行的结果 是在子线程中还是在主线程 执行
41+
```
42+
WorkerCenter.getInstance().submitNormalTask(new WorkerTask<String>("workTask",true) {
43+
44+
@Override
45+
protected String execute() {
46+
//子线程中执行任务
47+
return "this is a test task for woker";
48+
}
49+
50+
@Override
51+
protected void notifyResult(String result) {
52+
//处理结果,可配置在子线程还是主线程
53+
if(!TextUtils.isEmpty(result)){
54+
Log.e("woker","execute's result is " + result + " 当前执行线程是否为主线程 : " + (Looper.myLooper() == Looper.getMainLooper()) );
55+
}
56+
}
57+
});
58+
```
59+
- **提交子线程阻塞任务**
60+
提交任务 ,阻塞执行,直到子线程任务执行完成
61+
```
62+
WorkerCenter.getInstance().submitBlockTask(new ThreadTask() {
63+
@Override
64+
public void onWork() {
65+
//提交线程池 阻塞任务
66+
}
67+
});
68+
```
69+
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+

0 commit comments

Comments
 (0)