安卓问题(这种情况下是不是必须用Thread.sleep?)

代码向服务器请求得到的结果会影响下一步代码执行的走向,这种情况下是不是必须用Thread.sleep(),
但是这种情况下,其实我甚至可以把结果直接返回,不用写成数据回调那种模式了吧?

    package com.wtg.mytest;
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
public class MainActivity extends AppCompatActivity implements HttpCallBackListener {
    private HttpUtil util;
private boolean flag = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    util = new HttpUtil(this);
    while (flag){
        new Thread(new Runnable() {
            @Override
            public void run() {
                util.request("https://www.baidu.com");
                //flag = util.request();甚至这样子也可以喽??
            }
        }).start();
        try {
            Thread.sleep(10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("judge flag");
    }

}

@Override
public void doSomething(String response) {
    if (response!=null){
        **flag = false;**
        System.out.println("flag is false");
    }
    else{
        System.out.println("flag is true");
    }
}

}


最好是使用异步操作,thread.sleep会导致线程阻塞,如果是在ui里,会卡主。放在线程里,如果有同步对象,也会造成锁定

大约看明白了你的意思,你是想让在子线程中进行耗时操作。
但是把结果直接返回时什么意思,线程间通信是需要handler去实现的,你可以尝试使用一下。