美文网首页
自定义线程池

自定义线程池

作者: 啤酒小龙虾 | 来源:发表于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");

                    }

    }

    相关文章

      网友评论

          本文标题:自定义线程池

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