将消息传递给后台线程会导致损坏

时间:2014-07-02 22:14:09

标签: android multithreading

我正在尝试在后台线程上运行所有服务请求。为此,我创建一个ExecutorService并将对主处理程序(handleMessage)的所有调用重定向到新线程(handleMessageHelper)上的处理程序:

ExecutorService background = Executors.newSingleThreadExecutor();

//handles messages from client
class IncomingHandler extends Handler {
    @Override
    public void handleMessage(final Message msg) {
        background.execute(new Runnable() {
            @Override
            public void run() {
                handleMessageHelper(msg); //actually handles the request
            }
        });
        super.handleMessage(msg);
    }
}

但是,在创建新msg和调用Runnable函数之间,run()以某种方式被破坏。有什么方法可以防止这种情况吗?

0 个答案:

没有答案