我知道这是一个非常重要的问题。我正在尝试实现回调机制。
我在 Android 中有一个 java 类,里面有一个接口(interface)
public interface MyInterface {
public void cb1(Integer id);
public void cb2(Integer id);
};
用户可以使用我的接口(interface)和实现,每当我需要通知用户时,我都会调用cb1()或cb2()。
问题:
假设用户为我提供了接口(interface) mInterface 的实现,
while (1) {
mInterface.cb1()
}
1) cb1() 将在哪个线程中被调用?同步调用还是异步调用?
2) 如果是异步调用,如果 cb1() 的实现阻塞一段时间怎么办?所有的cb1()调用都会一一传递给用户吗?
最佳答案
在上面的代码中,这将是一个同步调用。如果您希望它是异步的,您应该创建一个新的Thread
来执行回调。
关于java - Android 的接口(interface)方法是在哪个线程中调用的?同步还是异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454420/