Android:暂停线程几秒钟 ExecutorService exec=Executors.newFixedThreadPool(8); 列表结果=新建ArrayList(); //提交任务 对于(int i=0;i

Android:暂停线程几秒钟 ExecutorService exec=Executors.newFixedThreadPool(8); 列表结果=新建ArrayList(); //提交任务 对于(int i=0;i,android,multithreading,Android,Multithreading,如上面的评论所示,我需要暂停线程几秒钟。希望你能帮我 谢谢你的时间 只需调用-这将暂停当前线程 因此: 显然,你不应该在UI线程中执行此操作,否则整个UI将冻结 请注意,这种简单的方法不允许通过中断线程来唤醒其他线程。如果您希望能够尽早唤醒它,您可以在监视器上使用Object.wait(),任何需要唤醒它的代码都可以访问该监视器;该代码可以使用Object.notify()唤醒等待的线程。(或者,使用更高级别的抽象,例如或。)您可以实现一个新线程,它不是UI线程 像这样的东西可能对你有用 Thr

如上面的评论所示,我需要暂停线程几秒钟。希望你能帮我

谢谢你的时间

只需调用-这将暂停当前线程

因此:

显然,你不应该在UI线程中执行此操作,否则整个UI将冻结


请注意,这种简单的方法不允许通过中断线程来唤醒其他线程。如果您希望能够尽早唤醒它,您可以在监视器上使用
Object.wait()
,任何需要唤醒它的代码都可以访问该监视器;该代码可以使用
Object.notify()
唤醒等待的线程。(或者,使用更高级别的抽象,例如或。)

您可以实现一个新线程,它不是UI线程

像这样的东西可能对你有用

Thread.sleep(5000); // Sleep for 5 seconds
class ThreadTask实现可调用{
公共对象调用(){
线程createdToWait=新线程(){
公开募捐{
//---一些代码
sleep(1000);//调用此函数暂停此线程的执行
//---暂停后要执行的代码
}
};
createdToWait.start();
返回结果;
}
Thread.sleep(5000); // Sleep for 5 seconds
class ThreadTask implements Callable<Object> {

public Object call() {
Thread createdToWait= new Thread() {
        public void run() {
                    //---some code

                    sleep(1000);//call this function to pause the execution of this thread

                    //---code to be executed after the pause
        }
    };
    createdToWait.start();
 return result;
}