相关疑难解决方法(0)

我在哪里创建和使用ScheduledThreadPoolExecutor,TimerTask或Handler?

我需要让我的RSS Feed阅读器每隔10分钟检查一次新帖子,然后在有新帖子的情况下解析它们.我还需要每分钟都更新UI.

我从不同的来源阅读和听到了不同的东西.我目前的理解是我可以ScheduledThreadPoolExecutor用来制作两个预定的线程,其中一个需要Handler更新UI.我不确定这些类或者最有效的使用方法TimerTask.

我也很不确定在哪里制作这些的子类.一位朋友建议TimerTaskFeedParser课堂上扩展为内部课程以使其更简单.但是,要以这种方式实现它,我必须使用该run()方法TimerTask而不重写它,这意味着我不能简单地使用我需要的参数来运行需要的函数.

简而言之,为此安排任务的最佳方法是什么,我将在哪里实现这些?

android handler threadpool timertask scheduledexecutorservice

25
推荐指数
1
解决办法
2万
查看次数

Thread和Handler之间的区别

有人可以告诉我Thread和Handler之间的差异吗?当我们使用Thread并使用Handler时?

我的项目中有两个代码,但我无法理解它们.

final Handler handler =  new Handler()
{
    @Override
    public void handleMessage(Message msg)
    {
        //  Do SomeThings
    } 
};
Run Code Online (Sandbox Code Playgroud)

private class readThread extends Thread
{
    Handler mHandler;

    readThread(Handler h){
        mHandler = h;
        this.setPriority(Thread.MIN_PRIORITY);

    }

    @Override
    public void run()
    {
        //  Do SomeThings
    }
}
Run Code Online (Sandbox Code Playgroud)

在另一个方法中调用这样的处理程序

read_thread = new readThread(handler);
            read_thread.start();
Run Code Online (Sandbox Code Playgroud)

哪一个先跑?有人可以解释一下吗?

multithreading android handler

22
推荐指数
3
解决办法
2万
查看次数

runnable.run()是不是错了?

我对多线程的概念还是比较陌生的,有一个方面我不清楚.

有两种方法可以创建和运行线程:

  1. 扩展Thread类和start()线程.
  2. 创建一个Runnable对象,将其传递给Thread构造函数和start()线程.

博客文章指出,我们始终应该使用启动一个线程start()左右是我对它的印象.

但在其中一个答案中,您可以看到一个人如何使用runnable.run().它让我觉得有些错误的做法.

这是正常的吗?应该避免吗?您可以明确答复,但任何建议都将受到赞赏.

java multithreading android

4
推荐指数
1
解决办法
122
查看次数