【发布时间】:2013-12-07 16:43:17
【问题描述】:
我有一个 java 函数,我想在中间延迟。
frombox.setText(simpchi[rannum] + "\n[" + pinyin[rannum] + "]");
String meaning = meanings[rannum];
try {
Thread.sleep(500);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
e.printStackTrace();
}
tobox.setText(meaning.replace("/", "\n"));
我想要更改 frombox 的文本,然后在 0.5 秒后更改 tobox 的文本。
但是,在执行这个的时候,整个函数延迟,然后frombox和tobox的文本同时改变。
我做错了什么?对不起,如果这真的很简单;我对java很陌生。
【问题讨论】:
-
今天的 Thread.sleep() 是怎么回事?刚刚在另一个问题中写了这个。要了解 sleep(),您必须了解线程。 sleep 不应该仅仅用来造成延迟。有很多线程方法可以让代码暂停并稍后执行,例如 postDelayed()。 sleep() 用于向 CPU 提供处理资源,以便在不需要执行线程时不会对线程进行时间切片(或多任务)。例如,您正在等待解决死锁
标签: java android multithreading function delay