Synchronized threadpool arrays.

This commit is contained in:
MobiusDevelopment 2019-06-02 21:17:19 +00:00
parent 242b6fe756
commit 4851af4561
14 changed files with 364 additions and 238 deletions

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }

View File

@ -102,13 +102,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> schedule(Runnable runnable, long delay) public static ScheduledFuture<?> schedule(Runnable runnable, long delay)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].schedule(new RunnableWrapper(runnable), delay, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -121,13 +124,16 @@ public final class ThreadPool
*/ */
public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period) public static ScheduledFuture<?> scheduleAtFixedRate(Runnable runnable, long initialDelay, long period)
{ {
try synchronized (SCHEDULED_POOLS)
{ {
return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS); try
} {
catch (Exception e) return SCHEDULED_POOLS[SCHEDULED_THREAD_RANDOMIZER++ % Config.SCHEDULED_THREAD_POOL_COUNT].scheduleAtFixedRate(new RunnableWrapper(runnable), initialDelay, period, TimeUnit.MILLISECONDS);
{ }
return null; catch (Exception e)
{
return null;
}
} }
} }
@ -137,12 +143,15 @@ public final class ThreadPool
*/ */
public static void execute(Runnable runnable) public static void execute(Runnable runnable)
{ {
try synchronized (INSTANT_POOLS)
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{ {
try
{
INSTANT_POOLS[INSTANT_THREAD_RANDOMIZER++ % Config.INSTANT_THREAD_POOL_COUNT].execute(new RunnableWrapper(runnable));
}
catch (Exception e)
{
}
} }
} }