[英]How to wait inside a method, till other method is completed
假设我们有以下代码:
int number;
public void onMessageReceived(int num) {
number = num;
}
public int getNumber() {
sendMessage("number")
return number;
}
您只能说1秒钟后才收到消息。
在不冻结主线程的情况下,如何“等待”直到获得“编号”?
public int getNumber() {
sendMessage("number")
//WAIT TILL I GET THE "NUMBER"
return number;
}
您应该使用加入方法...
当一个线程在另一个线程上调用join()时,当前正在运行的线程将等待,直到与之连接的线程完成为止。
可能是递归方法
public int getNumber() {
while(number!=0)
getNumber(); //Assuming number will not be null till you get positive integer greater than a zero same method will get recalled.
sendMessage("number")
return number;
}
当onMessageReceived(int num)
叫那么您可以在找到一个正整数number
,使其countinue执行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.