當前位置: 首頁>>代碼示例>>Java>>正文


Java ThreadFactoryBuilder.build方法代碼示例

本文整理匯總了Java中com.google.common.util.concurrent.ThreadFactoryBuilder.build方法的典型用法代碼示例。如果您正苦於以下問題:Java ThreadFactoryBuilder.build方法的具體用法?Java ThreadFactoryBuilder.build怎麽用?Java ThreadFactoryBuilder.build使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.google.common.util.concurrent.ThreadFactoryBuilder的用法示例。


在下文中一共展示了ThreadFactoryBuilder.build方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: TBoundedThreadPoolServer

import com.google.common.util.concurrent.ThreadFactoryBuilder; //導入方法依賴的package包/類
public TBoundedThreadPoolServer(Args options, ThriftMetrics metrics) {
  super(options);

  if (options.maxQueuedRequests > 0) {
    this.callQueue = new CallQueue(
        new LinkedBlockingQueue<Call>(options.maxQueuedRequests), metrics);
  } else {
    this.callQueue = new CallQueue(new SynchronousQueue<Call>(), metrics);
  }

  ThreadFactoryBuilder tfb = new ThreadFactoryBuilder();
  tfb.setDaemon(true);
  tfb.setNameFormat("thrift-worker-%d");
  executorService =
      new ThreadPoolExecutor(options.minWorkerThreads,
          options.maxWorkerThreads, options.threadKeepAliveTimeSec,
          TimeUnit.SECONDS, this.callQueue, tfb.build());
  serverOptions = options;
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:20,代碼來源:TBoundedThreadPoolServer.java

示例2: SimpleThreadFactory

import com.google.common.util.concurrent.ThreadFactoryBuilder; //導入方法依賴的package包/類
public SimpleThreadFactory(String name) {
    ThreadFactoryBuilder builder = new ThreadFactoryBuilder();
    builder
        .setNameFormat(name)
        .setUncaughtExceptionHandler((t, e) -> logger.error("Uncaught exception of thread_" + t.toString(), e));
    this.threadFactory = builder.build();
}
 
開發者ID:aCoder2013,項目名稱:fastmq,代碼行數:8,代碼來源:SimpleThreadFactory.java

示例3: createExecutor

import com.google.common.util.concurrent.ThreadFactoryBuilder; //導入方法依賴的package包/類
private static ExecutorService createExecutor(
    int workerThreads, ThriftMetrics metrics) {
  CallQueue callQueue = new CallQueue(
      new LinkedBlockingQueue<Call>(), metrics);
  ThreadFactoryBuilder tfb = new ThreadFactoryBuilder();
  tfb.setDaemon(true);
  tfb.setNameFormat("thrift2-worker-%d");
  ThreadPoolExecutor pool = new ThreadPoolExecutor(workerThreads, workerThreads,
          Long.MAX_VALUE, TimeUnit.SECONDS, callQueue, tfb.build());
  pool.prestartAllCoreThreads();
  return pool;
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:13,代碼來源:ThriftServer.java

示例4: createExecutor

import com.google.common.util.concurrent.ThreadFactoryBuilder; //導入方法依賴的package包/類
ExecutorService createExecutor(BlockingQueue<Runnable> callQueue,
                               int minWorkers, int maxWorkers) {
  ThreadFactoryBuilder tfb = new ThreadFactoryBuilder();
  tfb.setDaemon(true);
  tfb.setNameFormat("thrift-worker-%d");
  return new ThreadPoolExecutor(minWorkers, maxWorkers,
          Long.MAX_VALUE, TimeUnit.SECONDS, callQueue, tfb.build());
}
 
開發者ID:fengchen8086,項目名稱:ditb,代碼行數:9,代碼來源:ThriftServerRunner.java

示例5: serviceStart

import com.google.common.util.concurrent.ThreadFactoryBuilder; //導入方法依賴的package包/類
@Override
protected void serviceStart() throws Exception {
  ThreadFactoryBuilder tfBuilder = new ThreadFactoryBuilder()
      .setNameFormat("CommitterEvent Processor #%d");
  if (jobClassLoader != null) {
    // if the job classloader is enabled, we need to use the job classloader
    // as the thread context classloader (TCCL) of these threads in case the
    // committer needs to load another class via TCCL
    ThreadFactory backingTf = new ThreadFactory() {
      @Override
      public Thread newThread(Runnable r) {
        Thread thread = new Thread(r);
        thread.setContextClassLoader(jobClassLoader);
        return thread;
      }
    };
    tfBuilder.setThreadFactory(backingTf);
  }
  ThreadFactory tf = tfBuilder.build();
  launcherPool = new ThreadPoolExecutor(5, 5, 1,
      TimeUnit.HOURS, new LinkedBlockingQueue<Runnable>(), tf);
  eventHandlingThread = new Thread(new Runnable() {
    @Override
    public void run() {
      CommitterEvent event = null;
      while (!stopped.get() && !Thread.currentThread().isInterrupted()) {
        try {
          event = eventQueue.take();
        } catch (InterruptedException e) {
          if (!stopped.get()) {
            LOG.error("Returning, interrupted : " + e);
          }
          return;
        }
        // the events from the queue are handled in parallel
        // using a thread pool
        launcherPool.execute(new EventProcessor(event));        }
    }
  });
  eventHandlingThread.setName("CommitterEvent Handler");
  eventHandlingThread.start();
  super.serviceStart();
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:44,代碼來源:CommitterEventHandler.java


注:本文中的com.google.common.util.concurrent.ThreadFactoryBuilder.build方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。