我知道这是一个非常问题。我正在尝试实现回调机制。

我在Android中有一个Java类,内部有一个接口

public interface MyInterface {

        public void cb1(Integer id);
        public void cb2(Integer id);
    };


用户可以使用我的界面并实现,每当我需要通知用户时,我都会调用cb1()或cb2()。

题:

假设用户为我提供了接口mInterface的实现,

 while (1) {
     mInterface.cb1()
 }


1)将在哪个线程中调用cb1()?同步通话还是异步通话?

2)如果异步调用,如果cb1()的实现在一段时间内阻塞怎么办?将所有cb1()调用一一传递给用户吗?

最佳答案

在上面的代码中,它将是一个同步调用。如果要使其异步,则应创建一个新的Thread来执行回调。

10-08 20:06