当前位置: 首页 > 知识库问答 >
问题:

Android:如何从主线程创建消息并将其传递到工作线程

扶高歌
2023-03-14

我是android和java中多线程的新手,我很难实现一个简单的模型,在这个模型中,我们可以启动工作线程,并从主线程向工作线程发送一些消息或runnable,它在主线程中执行一些操作,并将结果发送给主线程并更新ui线程

我试过这个:

public class NewThreadUsingRunnable implements Runnable {

Handler handler;

@Override
public void run() {

    handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            Log.i("Message Recieved", " " + msg);
            int result = 2+2
        }
    };
}

主要活动:

new NewThreadUsingRunnable().run();

共有1个答案

法弘亮
2023-03-14

对于那些想要回答这个问题的人(因为它已经触及了一个流行的问题):

首先,你需要创建一个活套线程,并让处理器初始化活套

使用worker/main线程的处理程序并将消息添加到其中——在message对象中,你可以在worker线程之间传递常量、字符串甚至捆绑包

 类似资料:
  • 消息传递 稍加考虑,上一节的练习题其实是不完整的,它只是评分系统中的一环,一个评分系统是需要先把信息从数据库或文件中读取出来,然后才是评分,最后还需要把评分结果再保存到数据库或文件中去。如果一步一步串行地做这三个步骤,是完全没有问题的。那么我们是否可以用三个线程来分别做这三个步骤呢?上一节练习题我们已经用了一个线程来实现评分,那么我们是否也可以再用一个线程来读取成绩,再用另个线程来实现保存呢? 如

  • 问题内容: 我是Java技术的新手。我知道在Java中只有两种创建方式 扩展线程类 实施可运行接口 因此,这只是两种创建方法。但是,当我们使用主JVM启动程序时,它启动了一个main 。我认为甚至JVM也必须遵循创建主要方法的规则,以创建主线程JVM必须扩展Thread类或实现。 我尽了最大的努力,但是不知道JVM是如何创建这个主要对象的。当我完全遍历主类()时,我知道这是负责主线程的类。但是在G

  • 我在编写一个应用程序时遇到了一些问题。它的工作是用线来解决迷宫。一个线程开始,对于每个分支,它调用另一个类中的静态方法,传递另一个线程需要的参数,然后为每个路径启动线程。我的输出都搞乱了,我不确定这是多线程问题还是引用的问题。下面是一些代码(每个线程都有一个类的新实例): 和返回ValidPaths的方法 CheckEnvirondings使用传递给子级的深度副本(通过构造函数)来验证子级可以采用

  • 问题内容: 谁能建议我如何将参数传递给线程? 另外,它如何用于匿名类? 问题答案: 你需要将构造函数中的参数传递给Runnable对象: 然后调用它:

  • 我试图理解fork-join的窃取部分。fork-join池具有具有自己Deque的工作线程。如果工作线程自身的deque为空,则该线程从另一个工作线程中窃取。 线程如何访问其他线程的状态? 当所有者线程和窃取者线程尝试访问取消排队中的同一项目时,它不会产生同步问题吗?

  • 我想从可运行线程抛出异常,但不可能从线程抛出它,所以我们可以将chlild线程的状态(任何异常)传递给父线程吗?. 我读到过thread.join(),但在这种情况下,父线程会一直等到子线程完成执行。 在我的例子中,我的父线程在一段时间后逐个启动线程,但当任何线程抛出异常时,它应该将失败通知paent,以便父线程不会启动其他线程。 有什么方法可以实现吗?谁能帮我解决这个问题。