From b07497ebf00a2fd4943f5db946e0ebbd3ce55de8 Mon Sep 17 00:00:00 2001 From: Tanghd Date: Sat, 10 Feb 2018 15:58:00 +0800 Subject: [PATCH] add ThreadFactory for HashedWheelTimer --- .../scheduler/HashedWheelScheduler.java | 17 +++++++++++++---- .../scheduler/HashedWheelTimeoutScheduler.java | 11 ++++++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelScheduler.java b/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelScheduler.java index 9d7f02d..eefa040 100644 --- a/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelScheduler.java +++ b/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelScheduler.java @@ -15,19 +15,28 @@ */ package com.corundumstudio.socketio.scheduler; +import java.util.Map; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; + import io.netty.channel.ChannelHandlerContext; import io.netty.util.HashedWheelTimer; import io.netty.util.Timeout; import io.netty.util.TimerTask; import io.netty.util.internal.PlatformDependent; -import java.util.Map; -import java.util.concurrent.TimeUnit; - public class HashedWheelScheduler implements CancelableScheduler { private final Map scheduledFutures = PlatformDependent.newConcurrentHashMap(); - private final HashedWheelTimer executorService = new HashedWheelTimer(); + private final HashedWheelTimer executorService; + + public HashedWheelScheduler() { + executorService = new HashedWheelTimer(); + } + + public HashedWheelScheduler(ThreadFactory threadFactory) { + executorService = new HashedWheelTimer(threadFactory); + } private volatile ChannelHandlerContext ctx; diff --git a/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java b/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java index c0773d2..3cc1cbc 100644 --- a/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java +++ b/src/main/java/com/corundumstudio/socketio/scheduler/HashedWheelTimeoutScheduler.java @@ -31,14 +31,23 @@ import io.netty.util.TimerTask; import io.netty.util.internal.PlatformDependent; import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; public class HashedWheelTimeoutScheduler implements CancelableScheduler { private final ConcurrentMap scheduledFutures = PlatformDependent.newConcurrentHashMap(); - private final HashedWheelTimer executorService = new HashedWheelTimer(); + private final HashedWheelTimer executorService; private volatile ChannelHandlerContext ctx; + + public HashedWheelTimeoutScheduler() { + executorService = new HashedWheelTimer(); + } + + public HashedWheelTimeoutScheduler(ThreadFactory threadFactory) { + executorService = new HashedWheelTimer(threadFactory); + } @Override public void update(ChannelHandlerContext ctx) {