美文网首页
自定义线程池

自定义线程池

作者: 啤酒小龙虾 | 来源:发表于2018-05-08 11:27 被阅读0次

直接上代码了

public class ThreadPoolUtils {

    private static final int NUMBER =1; //定义线程池中的数量

    private static ThreadPoolExecutorexecutor = (ThreadPoolExecutor) Executors.newFixedThreadPool(NUMBER);

    private static int count =0; //计数器

    private static LinkedListlinkedList =new LinkedList();

    /**

    * 判断当前线程池里面是否有线程在执行

    *

    * @return

    */

    public static void startThread(Thread thread) {

            if (count <1) {

                    count++;

                    executor.execute(thread); //执行线程池中的线程

            }else {

                linkedList.add(thread);

            }

       }

      /**

    * 工作线程

    */

        public static abstract class Threadimplements Runnable {

                @Override

                public void run() {

                    //语音播报

                        work(); //这里实现 你要实现线程方法

                    //计数器--

                MyAPP.getHandler().post(new Runnable() {

                        @Override

                        public void run() {

                            Thread thread =linkedList.pollFirst();

                            if (thread !=null) {

                                startThread(thread);

                            }

                            count--;

                        }

                   });

           }

        //语音播报的方法 谁用谁调用

        public abstract void work();

}

然后写一个类实现 线程方法

public class YuYin extends ThreadPoolUtils.Thread {

        @Override

        public void work() {

                try {

                        Thread.sleep(2000);  //模拟耗时操作

                }catch (InterruptedException e) {

                        e.printStackTrace();

                 }

                //语音播报

                   Log.d("11", "dsfsadfds");

                }

}

相关文章

  • 并发--共享模型之工具

    线程池 1.1 自定义线程池 先自定义任务队列 自定义线程池 测试: 定义拒绝策略接口: 1.2 ThreadPo...

  • 线程池模板

    线程池自定义工厂 线程池管理 使用

  • Thread

    队列 线程锁 多线程,线程池 队列 多线程爬虫示例 多线程 自定义线程 线程池

  • spring boot中设置异步请求默认使用的线程池

    1、自定义异步线程池,如果不自定义则使用自带的线程池(不是真正意义上的线程池,不会复用线程) 2、springbo...

  • 万字长文:带你透彻理解“线程池”

    目标 【理解】线程池的基本概念 【理解】线程池工作原理 【掌握】自定义线程池 【应用】java内置线程池 【应用】...

  • 线程池很容易理解的

    线程池介绍 并发队列 线程池原理分析 自定义线程池 文中部分代码使用 lambda 表达式以简化代码。 线程池 什...

  • 2019-03-13 自定义连接池

    连接池:即线程池要自定义先要了解线程池模型,即线程池的核心参数1.coresize核心线程池,即运行的线程2.ma...

  • 自定义线程池

    一、前言 前一节介绍了线程池基本参数和概念,下面说下如何自定义线程池。 二、自定义线程池 1、步骤 (1)编写任务...

  • Java线程池

    一、自定义线程池集成ThreadPoolExecutor 二、JDK自带的几种线程池 1、newFixedThre...

  • java线程池源码分析

    从线程池使用进行实现分析一.自定义线程池1.自定义线程池2.构造完成之后状态3.关键参数介绍二.执行任务1.exe...

网友评论

      本文标题:自定义线程池

      本文链接:https://www.haomeiwen.com/subject/cbpirftx.html