Java 类java.util.concurrent.ThreadFactory 实例源码

项目:ysoserial-plus    文件:JenkinsCLI.java   
public static Channel openChannel ( InetSocketAddress isa ) throws IOException, SocketException {
    System.err.println("* Opening socket " + isa);
    Socket s = SocketFactory.getDefault().createSocket(isa.getAddress(), isa.getPort());
    s.setKeepAlive(true);
    s.setTcpNoDelay(true);

    System.err.println("* Opening channel");
    OutputStream outputStream = s.getOutputStream();
    DataOutputStream dos = new DataOutputStream(outputStream);
    dos.writeUTF("Protocol:CLI-connect");
    ExecutorService cp = Executors.newCachedThreadPool(new ThreadFactory() {

        public Thread newThread ( Runnable r ) {
            Thread t = new Thread(r, "Channel");
            t.setDaemon(true);
            return t;
        }
    });
    Channel c = new ChannelBuilder("EXPLOIT", cp).withMode(Mode.BINARY).build(s.getInputStream(), outputStream);
    System.err.println("* Channel open");
    return c;
}
项目:reading-and-annotate-rocketmq-3.4.6    文件:SystemClock.java   
private void scheduleClockUpdating() {
    ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() {
        @Override
        public Thread newThread(Runnable runnable) {
            Thread thread = new Thread(runnable, "System Clock");
            thread.setDaemon(true);
            return thread;
        }
    });
    scheduler.scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            now.set(System.currentTimeMillis());
        }
    }, precision, precision, TimeUnit.MILLISECONDS);
}
项目:lams    文件:DefaultManagedAwareThreadFactory.java   
@Override
public void afterPropertiesSet() throws NamingException {
    if (this.jndiName != null) {
        try {
            this.threadFactory = this.jndiLocator.lookup(this.jndiName, ThreadFactory.class);
        }
        catch (NamingException ex) {
            if (logger.isDebugEnabled()) {
                logger.debug("Failed to find [java:comp/DefaultManagedThreadFactory] in JNDI", ex);
            }
            if (logger.isInfoEnabled()) {
                logger.info("Could not find default managed thread factory in JNDI - " +
                        "proceeding with default local thread factory");
            }
        }
    }
}
项目:monarch    文件:TcpServer.java   
private static PooledExecutorWithDMStats createExecutor(PoolStatHelper poolHelper,
    final ThreadGroup threadGroup) {
  ThreadFactory factory = new ThreadFactory() {
    private final AtomicInteger threadNum = new AtomicInteger();

    public Thread newThread(Runnable r) {
      Thread thread = new Thread(threadGroup, r,
          "locator request thread[" + threadNum.incrementAndGet() + "]");
      thread.setDaemon(true);
      return thread;
    }
  };

  return new PooledExecutorWithDMStats(new SynchronousQueue(), MAX_POOL_SIZE, poolHelper, factory,
      POOL_IDLE_TIMEOUT, new ThreadPoolExecutor.CallerRunsPolicy());
}
项目:aws-sdk-java-v2    文件:NettyNioAsyncHttpClientWireMockTest.java   
@Test
public void customEventLoopGroup_NotClosedWhenClientIsClosed() throws Exception {

    ThreadFactory threadFactory = spy(new CustomThreadFactory());
    // Cannot use DefaultEventLoopGroupFactory because the concrete
    // implementation it creates is platform-dependent and could be a final
    // (i.e. non-spyable) class.
    EventLoopGroup eventLoopGroup = spy(new NioEventLoopGroup(0, threadFactory));
    EventLoopGroupConfiguration eventLoopGroupConfiguration =
            EventLoopGroupConfiguration.builder()
                                       .eventLoopGroup(eventLoopGroup)
                                       .build();
    SdkAsyncHttpClient customClient =
            NettySdkHttpClientFactory.builder()
                                     .trustAllCertificates(true)
                                     .eventLoopGroupConfiguration(eventLoopGroupConfiguration)
                                     .build()
                                     .createHttpClient();

    makeSimpleRequest(customClient);
    customClient.close();

    Mockito.verify(threadFactory, atLeastOnce()).newThread(Mockito.any());
    Mockito.verify(eventLoopGroup, never()).shutdownGracefully();
}
项目:micrometer    文件:DatadogMeterRegistry.java   
public DatadogMeterRegistry(DatadogConfig config, Clock clock, ThreadFactory threadFactory) {
    super(config, clock);

    this.config().namingConvention(new DatadogNamingConvention());

    try {
        this.postTimeSeriesEndpoint = URI.create(config.uri() + "/api/v1/series?api_key=" + config.apiKey()).toURL();
    } catch (MalformedURLException e) {
        // not possible
        throw new RuntimeException(e);
    }

    this.config = config;

    start(threadFactory);
}
项目:hadoop    文件:DeletionService.java   
@Override
protected void serviceInit(Configuration conf) throws Exception {
  ThreadFactory tf = new ThreadFactoryBuilder()
    .setNameFormat("DeletionService #%d")
    .build();
  if (conf != null) {
    sched = new DelServiceSchedThreadPoolExecutor(
        conf.getInt(YarnConfiguration.NM_DELETE_THREAD_COUNT,
        YarnConfiguration.DEFAULT_NM_DELETE_THREAD_COUNT), tf);
    debugDelay = conf.getInt(YarnConfiguration.DEBUG_NM_DELETE_DELAY_SEC, 0);
  } else {
    sched = new DelServiceSchedThreadPoolExecutor(
        YarnConfiguration.DEFAULT_NM_DELETE_THREAD_COUNT, tf);
  }
  sched.setExecuteExistingDelayedTasksAfterShutdownPolicy(false);
  sched.setKeepAliveTime(60L, SECONDS);
  if (stateStore.canRecover()) {
    recover(stateStore.loadDeletionServiceState());
  }
  super.serviceInit(conf);
}
项目:db-queue    文件:QueueExecutionPool.java   
/**
 * Конструктор для тестирования
 *
 * @param queueRegistry                  хранилище очередей
 * @param defaultTaskLifecycleListener   слушатель жизненного цикла задачи
 * @param defaultThreadLifecycleListener слушатель жизненного цикла потока очереди
 * @param threadFactoryProvider          фабрика фабрик создания потоков
 * @param queueThreadPoolFactory         фабрика для создания пула обработки очередей
 * @param queueLoopFactory               фабрика для создания {@link QueueLoop}
 * @param queueRunnerFactory             фабрика для создания {@link QueueRunner}
 */
QueueExecutionPool(@Nonnull QueueRegistry queueRegistry,
                   @Nonnull TaskLifecycleListener defaultTaskLifecycleListener,
                   @Nonnull ThreadLifecycleListener defaultThreadLifecycleListener,
                   @Nonnull BiFunction<QueueLocation, QueueShardId, ThreadFactory> threadFactoryProvider,
                   @Nonnull BiFunction<Integer, ThreadFactory, ExecutorService> queueThreadPoolFactory,
                   @Nonnull Function<ThreadLifecycleListener, QueueLoop> queueLoopFactory,
                   @Nonnull Function<ShardPoolInstance, QueueRunner> queueRunnerFactory) {
    this.queueRegistry = Objects.requireNonNull(queueRegistry);
    this.defaultTaskLifecycleListener = Objects.requireNonNull(defaultTaskLifecycleListener);
    this.defaultThreadLifecycleListener = Objects.requireNonNull(defaultThreadLifecycleListener);
    this.queueThreadPoolFactory = Objects.requireNonNull(queueThreadPoolFactory);
    this.threadFactoryProvider = Objects.requireNonNull(threadFactoryProvider);
    this.queueLoopFactory = Objects.requireNonNull(queueLoopFactory);
    this.queueRunnerFactory = Objects.requireNonNull(queueRunnerFactory);
}
项目:redirector    文件:ServiceCacheImplProxy.java   
public ServiceCacheImplProxy(ServiceDiscoveryImpl<T> discovery, String name, ThreadFactory threadFactory) {
    this.serviceCacheImpl = new ServiceCacheImpl<T>(discovery, name, threadFactory);

    try {
        Field privateListenerContainerField = ServiceCacheImpl.class.getDeclaredField("listenerContainer");
        privateListenerContainerField.setAccessible(true);
        this.listenerContainer = (ListenerContainer)privateListenerContainerField.get(serviceCacheImpl);
    } catch (NoSuchFieldException | IllegalAccessException e) {
        log.error("Failed to construct Service Cache. Container listeners is null.");
    }

    Preconditions.checkNotNull(discovery, "discovery cannot be null");
    Preconditions.checkNotNull(name, "name cannot be null");
    Preconditions.checkNotNull(threadFactory, "threadFactory cannot be null");
    Preconditions.checkNotNull(this.listenerContainer, "container of listeners can not be null");


    this.discovery = discovery;
    this.cache = new PathChildrenCache(discovery.getClient(), discovery.pathForName(name), true, threadFactory);
    this.cache.getListenable().addListener(this);
}
项目:chromium-net-for-android    文件:HttpUrlConnectionUrlRequest.java   
private static ExecutorService getExecutor() {
    synchronized (sExecutorServiceLock) {
        if (sExecutorService == null) {
            ThreadFactory threadFactory = new ThreadFactory() {
                private final AtomicInteger mCount = new AtomicInteger(1);

                    @Override
                public Thread newThread(Runnable r) {
                    Thread thread = new Thread(r,
                            "HttpUrlConnection #"
                            + mCount.getAndIncrement());
                    // Note that this thread is not doing actual networking.
                    // It's only a controller.
                    thread.setPriority(Thread.NORM_PRIORITY);
                    return thread;
                }
            };
            sExecutorService = Executors.newCachedThreadPool(threadFactory);
        }
        return sExecutorService;
    }
}
项目:OperatieBRP    文件:ServerListener.java   
/**
 * Create a new server listener.
 * @param serverConnector connector
 * @param socketFactory socket factory
 * @param authenticator authenticator
 * @param accessController access controller
 * @param threadPriority  thread priority
 * @throws IOException if an I/O error occurs when constructing the server listener
 */
ServerListener(final ServerConnector serverConnector, final JMXSocketFactory socketFactory, final JMXAuthenticator authenticator,
               final JMXAccessController accessController, final int threadPriority) throws IOException {
    this.serverConnector = serverConnector;
    this.authenticator = authenticator;
    this.accessController = accessController;
    serverId = SERVER_ID.getAndIncrement();

    // Setup executor service
    final ThreadFactory threadFactory = new ConnectionThreadFactory(serverId, threadPriority);
    executorService = Executors.newCachedThreadPool(threadFactory);

    // Setup server socket
    serverSocket = socketFactory.createServerSocket(serverConnector.getAddress());
    serverConnector.updateAddress(serverSocket.getLocalPort());
    serverSocket.setSoTimeout(0);
}
项目:hashsdn-controller    文件:SingletonHolder.java   
/**
 * @deprecated This method is only used from configuration modules and thus callers of it
 *             should use service injection to make the executor configurable.
 */
@Deprecated
public static synchronized ListeningExecutorService getDefaultCommitExecutor() {
    if (COMMIT_EXECUTOR == null) {
        final ThreadFactory factory = new ThreadFactoryBuilder().setDaemon(true).setNameFormat("md-sal-binding-commit-%d").build();
        /*
         * FIXME: this used to be newCacheThreadPool(), but MD-SAL does not have transaction
         *        ordering guarantees, which means that using a concurrent threadpool results
         *        in application data being committed in random order, potentially resulting
         *        in inconsistent data being present. Once proper primitives are introduced,
         *        concurrency can be reintroduced.
         */
        final ExecutorService executor = Executors.newSingleThreadExecutor(factory);
        COMMIT_EXECUTOR = MoreExecutors.listeningDecorator(executor);
    }

    return COMMIT_EXECUTOR;
}
项目:openjdk-jdk10    文件:ThreadPoolExecutorSubclassTest.java   
CustomTPE(int corePoolSize,
          int maximumPoolSize,
          long keepAliveTime,
          TimeUnit unit,
          BlockingQueue<Runnable> workQueue,
          ThreadFactory threadFactory,
          RejectedExecutionHandler handler) {
    super(corePoolSize, maximumPoolSize, keepAliveTime, unit,
      workQueue, threadFactory, handler);
}
项目:sstable-adaptor    文件:DebuggableThreadPoolExecutor.java   
public DebuggableThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory)
{
    super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory);
    allowCoreThreadTimeOut(true);

    // block task submissions until queue has room.
    // this is fighting TPE's design a bit because TPE rejects if queue.offer reports a full queue.
    // we'll just override this with a handler that retries until it gets in.  ugly, but effective.
    // (there is an extensive analysis of the options here at
    //  http://today.java.net/pub/a/today/2008/10/23/creating-a-notifying-blocking-thread-pool-executor.html)
    this.setRejectedExecutionHandler(blockingExecutionHandler);
}
项目:aws-sdk-java-v2    文件:TimeoutThreadPoolBuilder.java   
private static ThreadFactory getThreadFactory(final String name) {
    return new ThreadFactory() {
        private int threadCount = 1;

        public Thread newThread(Runnable r) {
            Thread thread = new Thread(r);
            if (name != null) {
                thread.setName(name + "-" + threadCount++);
            }
            thread.setPriority(Thread.MAX_PRIORITY);
            return thread;
        }
    };
}
项目:elephant    文件:ServerConfiguration.java   
@PostConstruct
  public void initMethod() {
ThreadFactory threadFactory = new ThreadFactoryBuilder()
       .setNameFormat("heart-beat-executor-%d")
       .setDaemon(true)
       .build();
      this.heartbeatExecutor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors(),threadFactory);
  }
项目:Hitalk    文件:AndroidExecutors.java   
/**
 * Creates a proper Cached Thread Pool. Tasks will reuse cached threads if available
 * or create new threads until the core pool is full. tasks will then be queued. If an
 * task cannot be queued, a new thread will be created unless this would exceed max pool
 * size, then the task will be rejected. Threads will time out after 1 second.
 *
 * Core thread timeout is only available on android-9+.
 *
 * @param threadFactory the factory to use when creating new threads
 * @return the newly created thread pool
 */
public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory) {
  ThreadPoolExecutor executor =  new ThreadPoolExecutor(
          CORE_POOL_SIZE,
          MAX_POOL_SIZE,
          KEEP_ALIVE_TIME, TimeUnit.SECONDS,
          new LinkedBlockingQueue<Runnable>(),
          threadFactory);

  allowCoreThreadTimeout(executor, true);

  return executor;
}
项目:monarch    文件:ScheduledThreadPoolExecutorWithKeepAlive.java   
/**
 * @param corePoolSize
 * @param threadFactory
 */
public ScheduledThreadPoolExecutorWithKeepAlive(int corePoolSize, long keepAlive,
    TimeUnit timeUnit, ThreadFactory threadFactory) {
  super(0, corePoolSize - 1, keepAlive, timeUnit, new SynchronousQueue(), threadFactory,
      new BlockCallerPolicy());
  timer = new ScheduledThreadPoolExecutor(1, threadFactory) {

    @Override
    protected void terminated() {
      super.terminated();
      ScheduledThreadPoolExecutorWithKeepAlive.super.shutdown();
    }

  };
}
项目:firebase-admin-java    文件:RevivingScheduledExecutor.java   
@VisibleForTesting
RevivingScheduledExecutor(
    final ThreadFactory threadFactory,
    final String threadName,
    final long initialDelayMs,
    final long timeoutMs) {
  super(0);
  checkNotNull(threadFactory, "threadFactory must not be null");
  INSTANCE_COUNTER.incrementAndGet();
  this.initialDelayMs = initialDelayMs;
  this.timeoutMs = timeoutMs;
  setRemoveOnCancelPolicy(true);
  setThreadFactory(
      new ThreadFactory() {
        @Override
        public Thread newThread(Runnable r) {
          logger.debug("Creating new thread for: {}", threadName);
          Thread thread = threadFactory.newThread(r);
          try {
            thread.setName(threadName);
            thread.setDaemon(true);
          } catch (AccessControlException ignore) {
            // Unsupported on App Engine.
          }
          if (requestedRestart.getAndSet(false)) {
            afterRestart();
          }
          return thread;
        }
      });
}
项目:ProjectAres    文件:UtilCoreManifest.java   
@Provides @Singleton
ThreadFactory threadFactory(Thread.UncaughtExceptionHandler exceptionHandler) {
    return runnable -> {
        final Thread thread = new Thread(runnable);
        thread.setUncaughtExceptionHandler(exceptionHandler);
        return thread;
    };
}
项目:firebase-admin-java    文件:JvmAuthTokenProviderTest.java   
@Test
public void testTokenChangeListenerThread() throws InterruptedException, IOException {
  MockGoogleCredentials credentials = new MockGoogleCredentials();
  FirebaseOptions options = new FirebaseOptions.Builder()
      .setCredentials(credentials)
      .build();
  FirebaseApp app = FirebaseApp.initializeApp(options);

  // Disable proactive token refresh, so only explicit refresh events are in play.
  ThreadFactory threadFactory = new ThreadFactoryBuilder()
      .setNameFormat("auth-token-provider-thread")
      .setDaemon(true)
      .build();
  ExecutorService executor = Executors.newSingleThreadExecutor(threadFactory);
  try {
    JvmAuthTokenProvider provider = new JvmAuthTokenProvider(app, executor, false);

    final AtomicReference<String> result = new AtomicReference<>();
    final Semaphore semaphore = new Semaphore(0);
    provider.addTokenChangeListener(new AuthTokenProvider.TokenChangeListener() {
      @Override
      public void onTokenChange(String token) {
        result.set(Thread.currentThread().getName());
        semaphore.release();
      }
    });

    credentials.refresh();
    assertTrue(semaphore.tryAcquire(TestUtils.TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS));
    assertEquals("auth-token-provider-thread", result.get());
  } finally {
    executor.shutdownNow();
  }
}
项目:firebase-admin-java    文件:RevivingScheduledExecutorTest.java   
@Test
public void testAppEngineDelayedCallable()
    throws InterruptedException, TimeoutException, ExecutionException {
  final AtomicInteger threads = new AtomicInteger(0);

  RevivingScheduledExecutor executor =
      new RevivingScheduledExecutor(new ThreadFactory() {
          @Override
          public Thread newThread(Runnable r) {
            threads.incrementAndGet();
            return THREAD_FACTORY.newThread(r);
          }
        },
        "testAppEngineDelayedCallable",
        0,
        100);

  ScheduledFuture<Boolean> future =
      executor.schedule(
          new Callable<Boolean>() {
            @Override
            public Boolean call() throws Exception {
              return true;
            }
          },
          750,
          TimeUnit.MILLISECONDS);

  try {
    Assert.assertTrue(future.get(1, TimeUnit.SECONDS));
    Assert.assertTrue(threads.get() >= 2);
  } finally {
    executor.shutdownNow();
  }
}
项目:ditb    文件:HRegion.java   
static ThreadPoolExecutor getOpenAndCloseThreadPool(int maxThreads,
    final String threadNamePrefix) {
  return Threads
      .getBoundedCachedThreadPool(maxThreads, 30L, TimeUnit.SECONDS, new ThreadFactory() {
        private int count = 1;

        @Override public Thread newThread(Runnable r) {
          return new Thread(r, threadNamePrefix + "-" + count++);
        }
      });
}
项目:micrometer    文件:SignalFxMeterRegistry.java   
public SignalFxMeterRegistry(SignalFxConfig config, Clock clock, ThreadFactory threadFactory) {
    super(config, clock);
    this.config = config;

    try {
        this.postTimeSeriesEndpoint = URI.create(config.uri() + "/datapoint").toURL();
    } catch (MalformedURLException e) {
        // not possible
        throw new RuntimeException(e);
    }

    config().namingConvention(new SignalFxNamingConvention());

    start(threadFactory);
}
项目:GitHub    文件:Util.java   
public static ThreadFactory threadFactory(final String name, final boolean daemon) {
  return new ThreadFactory() {
    @Override public Thread newThread(Runnable runnable) {
      Thread result = new Thread(runnable, name);
      result.setDaemon(daemon);
      return result;
    }
  };
}
项目:GitHub    文件:ScrollPerfExecutorSupplier.java   
public ScrollPerfExecutorSupplier(int numCpuBoundThreads, int numDecodingThread) {
  ThreadFactory backgroundPriorityThreadFactory =
      new PriorityThreadFactory(Process.THREAD_PRIORITY_BACKGROUND);

  mIoBoundExecutor = Executors.newFixedThreadPool(NUM_IO_BOUND_THREADS);
  mDecodeExecutor = Executors.newFixedThreadPool(
      numDecodingThread,
      backgroundPriorityThreadFactory);
  mBackgroundExecutor = Executors.newFixedThreadPool(
      numCpuBoundThreads,
      backgroundPriorityThreadFactory);
  mLightWeightBackgroundExecutor = Executors.newFixedThreadPool(
      NUM_LIGHTWEIGHT_BACKGROUND_THREADS,
      backgroundPriorityThreadFactory);
}
项目:googles-monorepo-demo    文件:ThreadFactoryBuilderTest.java   
public void testPriority_custom() {
  for (int i = Thread.MIN_PRIORITY; i <= Thread.MAX_PRIORITY; i++) {
    ThreadFactory factory = builder.setPriority(i).build();
    Thread thread = factory.newThread(monitoredRunnable);
    assertEquals(i, thread.getPriority());
  }
}
项目:letv    文件:ExecutorUtils.java   
public static final ThreadFactory getNamedThreadFactory(final String threadNameTemplate) {
    final AtomicLong count = new AtomicLong(1);
    return new ThreadFactory() {
        public Thread newThread(final Runnable runnable) {
            Thread thread = Executors.defaultThreadFactory().newThread(new BackgroundPriorityRunnable() {
                public void onRun() {
                    runnable.run();
                }
            });
            thread.setName(threadNameTemplate + count.getAndIncrement());
            return thread;
        }
    };
}
项目:openjdk-jdk10    文件:FlakyThreadFactory.java   
void test(final Class<?> exceptionClass,
          final ThreadFactory failingThreadFactory)
        throws Throwable {
    ThreadFactory flakyThreadFactory = new ThreadFactory() {
        int seq = 0;
        public Thread newThread(Runnable r) {
            if (seq++ < 4)
                return new Thread(r);
            else
                return failingThreadFactory.newThread(r);
        }};
    ThreadPoolExecutor pool =
        new ThreadPoolExecutor(10, 10,
                               0L, TimeUnit.SECONDS,
                               new LinkedBlockingQueue(),
                               flakyThreadFactory);
    try {
        for (int i = 0; i < 8; i++)
            pool.submit(new Runnable() { public void run() {} });
        check(exceptionClass == null);
    } catch (Throwable t) {
        /* t.printStackTrace(); */
        check(exceptionClass.isInstance(t));
    }
    pool.shutdown();
    check(pool.awaitTermination(LONG_DELAY_MS, MILLISECONDS));
}
项目:util4j    文件:AbstractTaskQueuesExecutor.java   
public final void setThreadFactory(ThreadFactory threadFactory) {
    if(threadFactory==null)
    {
        throw new NullArgumentException("threadFactory is null");
    }
    this.threadFactory = threadFactory;
}
项目:Pluto-Android    文件:FinalBitmap.java   
/**
 * 这个方法必须被调用后 FinalBitmap 配置才能有效
 * 
 * @return
 */
private FinalBitmap init() {

    mConfig.init();

    BitmapCache.ImageCacheParams imageCacheParams = new BitmapCache.ImageCacheParams(mConfig.cachePath);
    if (mConfig.memCacheSizePercent > 0.05 && mConfig.memCacheSizePercent < 0.8) {
        imageCacheParams.setMemCacheSizePercent(mContext, mConfig.memCacheSizePercent);
    } else {
        if (mConfig.memCacheSize > 1024 * 1024 * 2) {
            imageCacheParams.setMemCacheSize(mConfig.memCacheSize);
        } else {
            // 设置默认的内存缓存大小
            imageCacheParams.setMemCacheSizePercent(mContext, 0.3f);
        }
    }
    if (mConfig.diskCacheSize > 1024 * 1024 * 5)
        imageCacheParams.setDiskCacheSize(mConfig.diskCacheSize);
    mImageCache = new BitmapCache(imageCacheParams);

    bitmapLoadAndDisplayExecutor = Executors.newFixedThreadPool(mConfig.poolSize, new ThreadFactory() {
        public Thread newThread(Runnable r) {
            Thread t = new Thread(r);
            // 设置线程的优先级别,让线程先后顺序执行(级别越高,抢到cpu执行的时间越多)
            t.setPriority(Thread.NORM_PRIORITY - 1);
            return t;
        }
    });

    new CacheExecutecTask().execute(CacheExecutecTask.MESSAGE_INIT_DISK_CACHE);

    return this;
}
项目:jmsclient    文件:AbstractJMSClient.java   
public static ExecutorService createThreadPool(Properties prop)
{
    int minPoolSize = Integer.parseInt(prop.getProperty("min_pool_size", "5"));
    int maxPoolSize = Integer.parseInt(prop.getProperty("max_pool_size", "10"));
    int keepAliveTime = Integer.parseInt(prop.getProperty("keep_alive_secs", "10"));

    ThreadFactory threadFactory = new ThreadFactory() {
        @Override
        public Thread newThread(Runnable runnable) {
            Thread thread = new Thread(runnable,
                    "Message_Handler_Pool_Thread_" + threadId.incrementAndGet());
            if (thread.isDaemon())
                thread.setDaemon(false);
            if (thread.getPriority() != Thread.NORM_PRIORITY)
                thread.setPriority(Thread.NORM_PRIORITY);
            return thread;
        }
    };

    ExecutorService taskExecutor = new ThreadPoolExecutor(minPoolSize,
             maxPoolSize,
             keepAliveTime,
            TimeUnit.SECONDS,
            new LinkedBlockingQueue<Runnable>(), threadFactory);

    // ExecutorService executorService1 = Executors.newSingleThreadExecutor();

    return taskExecutor;
}
项目:okdownload    文件:Util.java   
public static ThreadFactory threadFactory(final String name, final boolean daemon) {
    return new ThreadFactory() {
        @Override
        public Thread newThread(@NonNull Runnable runnable) {
            final Thread result = new Thread(runnable, name);
            result.setDaemon(daemon);
            return result;
        }
    };
}
项目:s-store    文件:ThreadUtil.java   
public static ThreadFactory getThreadFactory(final String name, final UncaughtExceptionHandler handler) {
    return new ThreadFactory() {
        @Override
        public Thread newThread(Runnable r) {
            Thread t = new Thread(null, r, name, 1024*1024);
            t.setDaemon(true);
            t.setUncaughtExceptionHandler(handler);
            return t;
        }
    };
}
项目:dooo    文件:ThreadUtils.java   
/**
 *
 * @param name
 * @param priority
 * @return
 */
public static ThreadFactory newDaemonThreadFactory(final String name, final int priority) {
    return new ThreadFactory() {
        @Override
        public Thread newThread(Runnable r) {
            return newDaemonThread(r, name, priority);
        }
    };
}
项目:googles-monorepo-demo    文件:MoreExecutorsTest.java   
public void testGetExitingScheduledExcutorService_executorDelegatesToOriginal() {
  TestApplication application = new TestApplication();
  ScheduledThreadPoolExecutor executor = mock(ScheduledThreadPoolExecutor.class);
  ThreadFactory threadFactory = mock(ThreadFactory.class);
  when(executor.getThreadFactory()).thenReturn(threadFactory);
  application.getExitingScheduledExecutorService(executor).execute(EMPTY_RUNNABLE);
  verify(executor).execute(EMPTY_RUNNABLE);
}
项目:elephant    文件:NettyRemotingClient.java   
public NettyRemotingClient(NettyClientConfig nettyClientConfig) {
    this.nettyClientConfig = nettyClientConfig;
    this.eventLoopGroupWorker = new NioEventLoopGroup(1,new ThreadFactory() {
        private AtomicInteger threadIndex = new AtomicInteger(0);
        @Override
        public Thread newThread(Runnable r) {
            return new Thread(r, String.format("NettyClientSelector_%d",this.threadIndex.incrementAndGet()));
        }
    });
}
项目:scheduling-connector-for-hadoop    文件:LocalizationService.java   
public void localizeFiles() throws IOException {
  ThreadFactory tf = new ThreadFactoryBuilder()
      .setNameFormat("Localizer #%d").build();
  ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(
      localizeThreads, tf);
  for (LocalizationResource resource : resources) {
    UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
    Configuration conf = new Configuration();
    FSDownload fsDownload = new FSDownload(
        FileContext.getLocalFSFileContext(), ugi, conf, new Path(
            localizationDir), resource);
    newFixedThreadPool.submit(fsDownload);
  }
  newFixedThreadPool.shutdown();
}
项目:vogar    文件:Threads.java   
public static ThreadFactory daemonThreadFactory(final String name) {
    return new ThreadFactory() {
        private int nextId = 0;
        public synchronized Thread newThread(Runnable r) {
            Thread thread = new Thread(r, name + "-" + (nextId++));
            thread.setDaemon(true);
            return thread;
        }
    };
}
项目:guava-mock    文件:ThreadFactoryBuilderTest.java   
public void testNameFormatWithPercentD_custom() {
  String format = "super-duper-thread-%d";
  ThreadFactory factory = builder.setNameFormat(format).build();
  for (int i = 0; i < 11; i++) {
    assertEquals(rootLocaleFormat(format, i),
        factory.newThread(monitoredRunnable).getName());
  }
}