65 lines
2.6 KiB
Java
65 lines
2.6 KiB
Java
package com.alibaba.sdk.android.oss.common;
|
|
|
|
import com.ubt.jimu.base.mvp.SingleClickListener;
|
|
import java.util.LinkedList;
|
|
import java.util.Queue;
|
|
import java.util.concurrent.ArrayBlockingQueue;
|
|
import java.util.concurrent.Executors;
|
|
import java.util.concurrent.RejectedExecutionHandler;
|
|
import java.util.concurrent.ScheduledExecutorService;
|
|
import java.util.concurrent.ThreadFactory;
|
|
import java.util.concurrent.ThreadPoolExecutor;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class LogThreadPoolManager {
|
|
private static LogThreadPoolManager f = new LogThreadPoolManager();
|
|
private final Queue<Runnable> a = new LinkedList();
|
|
private final RejectedExecutionHandler b = new RejectedExecutionHandler() { // from class: com.alibaba.sdk.android.oss.common.LogThreadPoolManager.1
|
|
@Override // java.util.concurrent.RejectedExecutionHandler
|
|
public void rejectedExecution(Runnable runnable, ThreadPoolExecutor threadPoolExecutor) {
|
|
if (LogThreadPoolManager.this.a.size() >= 200) {
|
|
LogThreadPoolManager.this.a.poll();
|
|
}
|
|
LogThreadPoolManager.this.a.offer(runnable);
|
|
}
|
|
};
|
|
private final ScheduledExecutorService c = Executors.newScheduledThreadPool(1);
|
|
private final ThreadPoolExecutor d = new ThreadPoolExecutor(1, 1, 5000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(SingleClickListener.FAST_CLICK_DELAY_TIME), new ThreadFactory(this) { // from class: com.alibaba.sdk.android.oss.common.LogThreadPoolManager.2
|
|
@Override // java.util.concurrent.ThreadFactory
|
|
public Thread newThread(Runnable runnable) {
|
|
return new Thread(runnable, "oss-android-log-thread");
|
|
}
|
|
}, this.b);
|
|
private final Runnable e = new Runnable() { // from class: com.alibaba.sdk.android.oss.common.LogThreadPoolManager.3
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
if (LogThreadPoolManager.this.a()) {
|
|
LogThreadPoolManager.this.d.execute((Runnable) LogThreadPoolManager.this.a.poll());
|
|
}
|
|
}
|
|
};
|
|
|
|
private LogThreadPoolManager() {
|
|
this.c.scheduleAtFixedRate(this.e, 0L, 1000L, TimeUnit.MILLISECONDS);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public boolean a() {
|
|
return !this.a.isEmpty();
|
|
}
|
|
|
|
public static LogThreadPoolManager b() {
|
|
if (f == null) {
|
|
f = new LogThreadPoolManager();
|
|
}
|
|
return f;
|
|
}
|
|
|
|
public void a(Runnable runnable) {
|
|
if (runnable != null) {
|
|
this.d.execute(runnable);
|
|
}
|
|
}
|
|
}
|