zoukankan      html  css  js  c++  java
  • 本人对于线程池的理解和实践

    现在需要自己回顾和拓展研究一下关于线程池的使用

    我没有做过实验,但是我看到了项目中使用的方法。

    // 限制性线程池,每次只能并发一定数量的线程
    private static ExecutorService REQUEST_ASYNC_TASK_EXECUTOR;

    static {
    //默认最大并发5个线程
    REQUEST_ASYNC_TASK_EXECUTOR = Executors.newFixedThreadPool(5);
    }

    然后使用该变量
    new AsyncTask<Object, Object, Object>() {
    @Override
    protected Object doInBackground(Object... objects) {
    Object result = null;
    try {
    String resp = HttpManager.openUrl(url, httpMethod, params, file);
    result = resp;
    } catch (BaseException e) {
    result = e;
    }
    return result;
    }
    @Override
    protected void onPostExecute(Object obj) {
    if(obj.getClass().equals(BaseException.class)){
    listener.onError((BaseException)obj);
    } else {
    listener.onComplete((String)obj);
    }
    }
    }.executeOnExecutor(REQUEST_ASYNC_TASK_EXECUTOR);

    这个过程中,
    newFixedThreadPool代表了线程数量固定的线程池,当线程处于空闲状态时,它们不会被回收,除非线程池关闭了

    这就是线程池使用的例子
  • 相关阅读:
    String和StringBuilder和StringBuffer
    多态
    组件
    反向代理
    基础知识
    reflection
    v-model 与 v-bind:model
    tomcat端口占用问题
    socket
    简要概括内存机制
  • 原文地址:https://www.cnblogs.com/gengen1990/p/5868577.html
Copyright © 2011-2022 走看看