我知道这是一个非常问题。我正在尝试实现回调机制。
我在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
来执行回调。