【发布时间】:2013-05-13 11:49:53
【问题描述】:
我想在一个线程中做一些事情,将他所做的事情作为字符串返回,我想等待那个字符串做其他事情。我一直在阅读有关wait() 和notify() 的信息,但我听不懂。谁能帮帮我?
我在这里创建执行操作的线程
new Thread(
new Runnable() {
@Override
public void run() {
synchronized(mensaje) {
try {
mensaje.wait();
mensaje = getFilesFromUrl(value);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
我在这里等待字符串 mensaje 更改
如果字符串不是“”,那么我会显示一个按钮和一些文本
synchronized(mensaje) {
if (mensaje.equals("")) {
try {
mensaje.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
btnOk.setVisibility(View.VISIBLE);
lblEstado.setText(mensaje);
}
所有这些东西都在一个方法中
【问题讨论】:
-
看看并发工具。 Callable 和 Future 是要了解的主要接口。
-
你到底有什么问题?
-
Ops,我忘记写问题了...
-
表示对象在 notify 之前没有被线程锁定(notify() 是在 mensaje = getFilesFromUrl(value) 之后;但我忘记为这篇文章写了...)