我有一个暂停例程,需要多次调用。即两次调用一次,一次持续5秒,一次一次持续10秒。
无论如何,如果我尝试同时调用两次,只会得到更长的响应。就像只有一个线程正在创建和管理。
简而言之,如何使该例程处理多个请求并管理多个线程。
我试图将例程移至该类的更高部分,并尝试添加一个可识别的线程字符串。
我确实认为我在这里错过了一些东西。无法正确创建和跟踪线程。
AsynchUtil.runAsynchronously(new Runnable() {
class DelayCall implements Runnable {
DelayCall(String pauseName) {
threadName=pauseName;
}
public void run() {
PauseMagic.this.CallFinishedWithResult(threadName);
}
}
public void run() {
try {
Thread.sleep((long) delay2);
PauseMagic.this.form.runOnUiThread(new DelayCall(threadName));
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
});
}
public void CallAfterDelay(final String pauseName, final int timeUnits, final int delay) {
if(timeUnits==1) delay2=(delay*1000);
if(timeUnits==2) delay2=((delay*60)*1000);
threadName=pauseName;
StartPause(threadName);
}
public void CallFinishedWithResult(String pauseName) {
EventDispatcher.dispatchEvent(this, "CallFinishedWithResult", new Object[]{pauseName});
}
}
我希望能够从CallAfterDelay多次调用StartPause(),并创建独立的线程。因此,当我触发CallFinsihedWithResult时,我要做的就是测试暂停动作的名称。