ThreadPool.smali
.class final Lio/rong/imlib/httpdns/ThreadPool;
.super Ljava/lang/Object;
.source "ThreadPool.java"
# static fields
.field private static final corePoolSize:I = 0x1
.field private static final keepAliveTime:I = 0x14
.field private static final maximumBlockingQueue:I = 0x32
.field private static final maximumPoolSize:I = 0x1
.field private static volatile threadPool:Lio/rong/imlib/httpdns/ThreadPool;
# instance fields
.field private final executor:Ljava/util/concurrent/Executor;
# direct methods
.method private constructor <init>()V
.registers 9
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v7, Ljava/util/concurrent/ThreadPoolExecutor;
sget-object v5, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v6, Ljava/util/concurrent/LinkedBlockingDeque;
const/16 v0, 0x32
invoke-direct {v6, v0}, Ljava/util/concurrent/LinkedBlockingDeque;-><init>(I)V
const/4 v1, 0x1
const/4 v2, 0x1
const-wide/16 v3, 0x14
move-object v0, v7
invoke-direct/range {v0 .. v6}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V
iput-object v7, p0, Lio/rong/imlib/httpdns/ThreadPool;->executor:Ljava/util/concurrent/Executor;
return-void
.end method
.method static getInstance()Lio/rong/imlib/httpdns/ThreadPool;
.registers 2
.line 1
sget-object v0, Lio/rong/imlib/httpdns/ThreadPool;->threadPool:Lio/rong/imlib/httpdns/ThreadPool;
if-nez v0, :cond_17
.line 2
const-class v0, Lio/rong/imlib/httpdns/ThreadPool;
monitor-enter v0
.line 3
:try_start_7
sget-object v1, Lio/rong/imlib/httpdns/ThreadPool;->threadPool:Lio/rong/imlib/httpdns/ThreadPool;
if-nez v1, :cond_12
.line 4
new-instance v1, Lio/rong/imlib/httpdns/ThreadPool;
invoke-direct {v1}, Lio/rong/imlib/httpdns/ThreadPool;-><init>()V
sput-object v1, Lio/rong/imlib/httpdns/ThreadPool;->threadPool:Lio/rong/imlib/httpdns/ThreadPool;
.line 5
:cond_12
monitor-exit v0
goto :goto_17
:catchall_14
move-exception v1
monitor-exit v0
:try_end_16
.catchall {:try_start_7 .. :try_end_16} :catchall_14
throw v1
.line 6
:cond_17
:goto_17
sget-object v0, Lio/rong/imlib/httpdns/ThreadPool;->threadPool:Lio/rong/imlib/httpdns/ThreadPool;
return-object v0
.end method
# virtual methods
.method getExecutor()Ljava/util/concurrent/Executor;
.registers 2
.line 1
iget-object v0, p0, Lio/rong/imlib/httpdns/ThreadPool;->executor:Ljava/util/concurrent/Executor;
return-object v0
.end method