.class public Ld9/a; .super Ljava/lang/Object; .source "HandyThreadTask.java" # static fields .field public static final a:Ljava/lang/String; = "a" .field public static final b:I .field public static final c:I .field public static final d:I .field public static final e:I = 0x5 .field public static final f:Ljava/util/concurrent/ThreadFactory; .field public static final g:Ljava/util/concurrent/BlockingQueue; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/BlockingQueue<", "Ljava/lang/Runnable;", ">;" } .end annotation .end field .field public static final h:Ljava/util/concurrent/ExecutorService; # direct methods .method public static constructor ()V .locals 14 .line 1 const-class v0, Ld9/a; invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object v0 .line 2 invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Runtime;->availableProcessors()I move-result v1 sput v1, Ld9/a;->b:I add-int/lit8 v2, v1, -0x1 const/16 v3, 0x8 .line 3 invoke-static {v2, v3}, Ljava/lang/Math;->min(II)I move-result v2 const/4 v3, 0x2 invoke-static {v3, v2}, Ljava/lang/Math;->max(II)I move-result v2 sput v2, Ld9/a;->c:I mul-int/lit8 v3, v1, 0x2 const/4 v12, 0x1 add-int/2addr v3, v12 .line 4 sput v3, Ld9/a;->d:I .line 5 new-instance v11, Ld9/a$a; invoke-direct {v11}, Ld9/a$a;->()V sput-object v11, Ld9/a;->f:Ljava/util/concurrent/ThreadFactory; .line 6 new-instance v10, Ljava/util/concurrent/LinkedBlockingQueue; invoke-direct {v10}, Ljava/util/concurrent/LinkedBlockingQueue;->()V sput-object v10, Ld9/a;->g:Ljava/util/concurrent/BlockingQueue; .line 7 new-instance v13, Ljava/util/concurrent/ThreadPoolExecutor; sget-object v9, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit; const-wide/16 v7, 0x5 move-object v4, v13 move v5, v2 move v6, v3 invoke-direct/range {v4 .. v11}, Ljava/util/concurrent/ThreadPoolExecutor;->(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V .line 8 invoke-virtual {v13, v12}, Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut(Z)V .line 9 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V const-string/jumbo v5, "threadPoolExecutor - CPU_COUNT:" invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v1, ", CORE_POOL_SIZE:" invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v1, ", MAXIMUM_POOL_SIZE:" invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I .line 10 sput-object v13, Ld9/a;->h:Ljava/util/concurrent/ExecutorService; return-void .end method .method public constructor ()V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static synthetic a()Ljava/lang/String; .locals 1 .line 1 sget-object v0, Ld9/a;->a:Ljava/lang/String; return-object v0 .end method .method public static b(Ljava/lang/Runnable;)V .locals 3 .line 1 sget-object v0, Ld9/a;->a:Ljava/lang/String; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "execute runnable:" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I .line 2 sget-object v0, Ld9/a;->h:Ljava/util/concurrent/ExecutorService; invoke-interface {v0, p0}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V return-void .end method