Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

tuke0919/ThreadSwitch

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThreadSwitch

一个方便的主线程和子线程之间的线程切换框架

使用说明

  • 提交主线程任务 当你在子线程完成了任务,比如查询数据库等,需要切换到主线程,在主线程中操作
 WorkerCenter.getInstance().submitMainThreadTask(new ThreadTask() {
            @Override
            public void onWork() {
                //主线程任务
            }
        });
//主线程延时任务
WorkerCenter.getInstance().submitMainThreadTaskDelay(new ThreadTask() {
            @Override
            public void onWork() {
                //主线程延迟任务
            }
        },10000);
  • 提交子线程队列任务 子线程执行队列任务,根据提交的先后顺序执行,无任何方式的结果通知
WorkerCenter.getInstance().submitQueneTask(new ThreadTask() {
            @Override
            public void onWork() {
                //子线程队列任务
            }
        });
//子线程队列延时任务
WorkerCenter.getInstance().submitQueneTaskDelay(new ThreadTask() {
            @Override
            public void onWork() {
                //子线程队列延时任务
            }
        },10000);
  • 提交子线程任务,同时执行多个子任务 线程池处理提交任务,同时执行。可配置 执行的结果 是在子线程中还是在主线程 执行
 WorkerCenter.getInstance().submitNormalTask(new WorkerTask<String>("workTask",true) {

            @Override
            protected String execute() {
                 //子线程中执行任务
                return "this is a test task for woker";
            }

            @Override
            protected void notifyResult(String result) {
                 //处理结果,可配置在子线程还是主线程
                if(!TextUtils.isEmpty(result)){
                    Log.e("woker","execute's result is  " + result + " 当前执行线程是否为主线程 : " + (Looper.myLooper() == Looper.getMainLooper()) );
                }
            }
        });
  • 提交子线程阻塞任务 提交任务 ,阻塞执行,直到子线程任务执行完成
WorkerCenter.getInstance().submitBlockTask(new ThreadTask() {
            @Override
            public void onWork() {
                //提交线程池 阻塞任务
            }
        });

About

一个方便的主线程和子线程之间的线程切换框架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.