java - Android中如何等待一个线程启动另一个线程?

标签 java android multithreading wait synchronize

每次单击按钮时都会调用此代码

   //Thread called when click a button
    Thread a = new Thread(new Runnable() {
        @Override
        public void run() {
            synchronized ((Object) contadordeMierda){
                Random rn = new Random();
                int n= rn.nextInt(10) + 1;
                contador++;

                try {
                    Thread.sleep(n*100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println(contador);
            }
   }
    });

    a.start();

当我快速触摸它几次时,我得到这个输出:

I/System.out:1

I/System.out:2

I/System.out:5

I/System.out:5

I/System.out:9

I/System.out:9

I/System.out:9

I/System.out:9

I/System.out:9

...

如何等待一个线程完成才能启动另一个线程?所以打印结果是 1 2 3 4 5 6 7 8 9 10 11 12...?

最佳答案

这就是 join() function 的确切目的。多次被问到的问题:How to wait for a number of threads to complete? .

关于java - Android中如何等待一个线程启动另一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28155367/

相关文章:

Java - KeyListener 多个按钮按下

android - SimpleCursorAdapter bindView 和回收 View

java - 必应翻译 API 无法正常工作

c# - 后台线程中的串行通信

linux - Linux 中进程的线程调度

java - java中如何保存更改?

java - Java 泛型的 C++ 等价物

java - 并发使用作为 RMI 服务公开的 EJB

java - 如何将X和Y保持在布局 View 内?

Java 在 C 中的 volatile ?