阿虚同学W 2020-02-24 20:33 采纳率: 66.7%
浏览 420
已结题

安卓问题(这种情况下是不是必须用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");
    }
}

}


  • 写回答

2条回答 默认 最新

  • threenewbee 2020-02-24 21:30
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表