java - 请问如何实现线程的重复使用,循环使用,循环执行任务
伊谢尔伦
伊谢尔伦 2017-04-17 17:50:37
[Java讨论组]

我有一堆任务,把这些任务提交到线程池的任务队列中,如果队列满了就先不提交。这时线程池中的线程从任务队列中提取任务并开始执行(假设共有5个固定线程),一个线程执行完任务后继续从任务队列中领取任务并执行,任务队列中少了一个任务,这时我们再向任务队列中提交一个任务

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
大家讲道理

本来就是被复用的,被线程池管理的,自己不用控制。

天蓬老师
    class MyTask implements Runnable{
        @Override
        public void run() {
            // TODO Auto-generated method stub
            //执行业务逻辑
        }
        
    }
    
    public class MyThread extends Thread {
        long minPrime;
        private boolean shouldStopFlag=false;
        private long checkIntervalTime;
        public MyThread(long checkIntervalTimeIn){
                this.checkIntervalTime=checkIntervalTimeIn;
        }
        public void run() {
                while(!shouldStopFlag){
                    //如果获取不到.线程等待指定的时间间隔后,再去获取执行任务
                    Runnable nexRunnable=getNextTask();
                    if(nexRunnable!=null){
                        nexRunnable.run();
                    }else{
                        try {
                            Thread.sleep(checkIntervalTime);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }
                    
                    
            }
        }
        
        private Runnable getNextTask(){
                //获取下一个需要至执行的任务,可以队列等数据结合中获取
                return new MyTask();
        }
    }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号