parent
e14928e260
commit
8158c58d6e
@ -0,0 +1,49 @@ |
||||
/* |
||||
* Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
package com.arialyy.aria.core.group; |
||||
|
||||
import java.util.concurrent.ExecutorService; |
||||
import java.util.concurrent.SynchronousQueue; |
||||
import java.util.concurrent.ThreadPoolExecutor; |
||||
import java.util.concurrent.TimeUnit; |
||||
|
||||
/** |
||||
* 子任务重试队列 |
||||
*/ |
||||
final class SimpleSubRetryQueue { |
||||
private volatile static SimpleSubRetryQueue INSTANCE = null; |
||||
private ExecutorService pool = new ThreadPoolExecutor(5, 100, |
||||
60L, TimeUnit.SECONDS, |
||||
new SynchronousQueue<Runnable>()); |
||||
|
||||
public synchronized static SimpleSubRetryQueue getInstance() { |
||||
if (INSTANCE == null) { |
||||
synchronized (SimpleSubRetryQueue.class) { |
||||
INSTANCE = new SimpleSubRetryQueue(); |
||||
} |
||||
} |
||||
|
||||
return INSTANCE; |
||||
} |
||||
|
||||
private SimpleSubRetryQueue() { |
||||
|
||||
} |
||||
|
||||
void offer(AbsSubDLoadUtil subDLoadUtil) { |
||||
pool.submit(subDLoadUtil.getLoader()); |
||||
} |
||||
} |
Loading…
Reference in new issue