2013-07-31 103 views
1

我曾尝试使用Google搜索一段时间,但无法找到任何明确的答案。我有一个Android软件应该监听多个UDP端口。如果我没有弄错,我必须为每个端口创建自己的线程。在端口接收到数据后,它应该被传递给UI线程。多线程时需要多少个处理程序

经过一番研究,我断定我应该使用处理程序向UI线程提供数据。然而,我对我需要多少Handlers有点困惑。每个线程都需要自己的处理程序还是单个共享足够?

对于一些背景信息,我试图创建定时线程,每隔100ms检查收到的UDP数据包并更新它们的内容到UI线程的视图。

回答

1

我会在UI线程上创建一个Handler并将该处理器引用传递给每个线程(因此您只需要1个处理程序对象)。通过这种方式,因为处理程序是在UI线程上创建的,所以它的handleMessage将在UI线程上执行 - 但请注意,通过handleMessage处理的每个消息都要执行得非常快。