当前位置: 首页>>代码示例>>Java>>正文


Java ThreadFactoryBuilder.setThreadFactory方法代码示例

本文整理汇总了Java中com.google.common.util.concurrent.ThreadFactoryBuilder.setThreadFactory方法的典型用法代码示例。如果您正苦于以下问题:Java ThreadFactoryBuilder.setThreadFactory方法的具体用法?Java ThreadFactoryBuilder.setThreadFactory怎么用?Java ThreadFactoryBuilder.setThreadFactory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.common.util.concurrent.ThreadFactoryBuilder的用法示例。


在下文中一共展示了ThreadFactoryBuilder.setThreadFactory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: 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.setThreadFactory方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。