有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java nanoHTTPD如何在Android中作为单个后台线程运行?

我的应用程序是使用nanoHTTPD作为Android UI上按键和输入文本的替代,以进行自动化和回归测试。目前,我有一个主UI线程和一个定制的nanoHTTPD在不同的线程中运行。考虑每个HTTP请求将在UI线程中很快地被服务。我认为,如果我可以强制nanoHTTPD不为每个传入请求启动新线程,那么我的模型可以简化。对于我的用例,我一点也不介意阻塞I/O模型。我发现有一种可插入的线程策略。是否可以修改以下内容,使一次只有一个web请求处于活动状态(阻止模式)

public static class DefaultAsyncRunner implements AsyncRunner {
    private long requestCount;

    @Override
    public void exec(Runnable code) {
        ++requestCount;
        Thread t = new Thread(code);
        t.setDaemon(true);
        t.setName("NanoHttpd Request Processor (#" + requestCount + ")");
        t.start();
    }
}

我可能还可以做更复杂的消息队列,但在一个线程中“简化”到nanoHTTPD似乎最简单


共 (0) 个答案