首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android -等待处理程序对象创建的适当方式

Android -等待处理程序对象创建的适当方式
EN

Stack Overflow用户
提问于 2011-10-06 09:05:42
回答 1查看 2.4K关注 0票数 7

各位朋友:

下面是我的后台线程的简化代码:

代码语言:javascript
运行
复制
    public class MyThread extends Thread {
      private Handler _handler;

      public void run() {
         Looper.prepare();
         this._handler = new Handler();
         Looper.loop();
      }

      public void DoSomething() {
         if (!this.isAlive()) {
            this.start();
         }

         this._handler.post(blah);
      }
    }

我遇到的问题是,当进行post()调用时,后台线程可能还没有创建处理程序对象。本质上,我需要一个等待循环来初始化处理程序对象。在Android下,什么是生成的可接受的方法?

提前感谢您的帮助。

打招呼,彼得

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-07 12:05:19

您可以在初始化处理程序之后设置一个标志,并在调用post之前等待此标志。

在并发系统中等待标志的一种简单方法是使用CountDownLatch。它将从1开始,在处理程序初始化后递减。点击这里查看详情:http://download.oracle.com/javase/1,5,0/docs/api/java/util/concurrent/CountDownLatch.html

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

https://stackoverflow.com/questions/7669397

复制
相关文章

相似问题

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