Запустите поток, пока 2 целых числа не станут - PullRequest
0 голосов
/ 22 мая 2018

Я хочу проверить в фоновом режиме, если 2 целых числа совпадают.Когда они одинаковы, я хочу, чтобы поток остановился, и я хочу, чтобы одна из моих функций была вызвана.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Попробуйте,

Runnable runnable = new Runnable() {
    @Override
    public void run() {
        if (!runnable.interrupted()) {
           if( varOne.equals(varTwo)) {
               yourFn();
            runnable.interrupted();
           } else {
               //Do nothing.
           }
        }
};
new Thread(runnable).start();
0 голосов
/ 22 мая 2018

Я собираюсь сделать предположение, что вы знаете, как устанавливать и выполнять потоки Java в фоновом режиме.В вашем runnable при определении функции run () вы можете установить цикл while true, который затем сравнивает значение двух чисел и прерывает цикл, если они равны.если они не равны, он спит в течение x миллисекунд, прежде чем он зацикливается.После цикла вы вызываете функцию, которую хотите вызвать, если значения равны.Это должно выглядеть так:

public void run() {
    while(true){
        if(a == b){
            break;
        }
         Thread.sleep(200);
    }
    myfunction();
}
...