e.smali
.class public final Lcom/vivo/push/util/e;
.super Ljava/lang/Object;
.source "ConcurrentUtils.java"
# static fields
.field private static final a:I
.field private static final b:I
.field private static final c:I
.field private static d:Ljava/util/concurrent/ExecutorService;
# direct methods
.method static constructor <clinit>()V
.registers 3
.prologue
.line 16
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Runtime;->availableProcessors()I
move-result v0
sput v0, Lcom/vivo/push/util/e;->a:I
.line 17
const/4 v0, 0x2
sget v1, Lcom/vivo/push/util/e;->a:I
add-int/lit8 v1, v1, -0x1
const/4 v2, 0x4
invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I
move-result v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
sput v0, Lcom/vivo/push/util/e;->b:I
.line 19
sget v0, Lcom/vivo/push/util/e;->a:I
mul-int/lit8 v0, v0, 0x2
add-int/lit8 v0, v0, 0x1
sput v0, Lcom/vivo/push/util/e;->c:I
.line 20
const-string v0, "COMMON_THREAD"
invoke-static {v0}, Lcom/vivo/push/util/e;->a(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
move-result-object v0
sput-object v0, Lcom/vivo/push/util/e;->d:Ljava/util/concurrent/ExecutorService;
return-void
.end method
.method public static a(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
.registers 11
.prologue
.line 27
new-instance v7, Ljava/util/concurrent/LinkedBlockingQueue;
const/16 v0, 0x80
invoke-direct {v7, v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>(I)V
.line 28
new-instance v1, Ljava/util/concurrent/ThreadPoolExecutor;
sget v2, Lcom/vivo/push/util/e;->b:I
sget v3, Lcom/vivo/push/util/e;->c:I
const-wide/16 v4, 0x1e
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v8, Lcom/vivo/push/util/f;
invoke-direct {v8, p0}, Lcom/vivo/push/util/f;-><init>(Ljava/lang/String;)V
new-instance v9, Ljava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;
invoke-direct {v9}, Ljava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;-><init>()V
invoke-direct/range {v1 .. v9}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
.line 37
return-object v1
.end method