假设您为每个任务创建一条SMS消息,则可以使用ScheduleExecutorService。
final Queue<Task> tasks = new ConcurrentlinkedQueue<Task>();int ratePerSecond = 10;final ExecutorService es = Executors.newCachedThreadPool();ScheduledExecutorService ses = Executors.newSingleThreadScheduledExecutor();ses.scheduleAtFixedRate(new Runnable() { @Override public void run() { final Task task = tasks.poll(); if (task == null) return; es.submit(new Runnable() { @Override public void run() { process(task); } }); }}, 0, 1000/ratePerSecond, TimeUnit.MILLISECONDS);
将任务添加到队列中,它们将以每秒10个的速度处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)