首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黑莓invokeLater中的线程

黑莓invokeLater中的线程
EN

Stack Overflow用户
提问于 2012-10-19 00:26:39
回答 1查看 372关注 0票数 1

我在Blackberry的invokeLater方法中有一个线程,如下所示:

代码语言:javascript
复制
startButton.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field arg0, int arg1) {
    UiApplication.getUiApplication().invokeLater(new Runnable() {
        public void run() {
            Thread thread = new Thread(){
                public void run() {
                    uploadFile();
                }
            };
            thread.start();
        }
    });
}

我有一个线程,因为我想在后台运行这个函数,并希望在它执行其工作的同时能够做其他事情。我想知道的是这是不是一个好的方法。在这种情况下,我真的需要invokeLater吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-19 01:02:43

简短的回答是:不。

长长的答案:

InvokeLater将Runnable放在事件队列中,这样,当事件循环看到Runnable时,它将在事件线程上执行它。由于您在FieldChangeListener的fieldChanged方法中调用invokeLater,因此您将从事件线程中调用它。除非你想把线程的启动延迟到某个未知的时间,否则你不需要使用invokeLater。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12959296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档