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


Java WorkQueueImpl类代码示例

本文整理汇总了Java中com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl的典型用法代码示例。如果您正苦于以下问题:Java WorkQueueImpl类的具体用法?Java WorkQueueImpl怎么用?Java WorkQueueImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


WorkQueueImpl类属于com.sun.corba.se.impl.orbutil.threadpool包,在下文中一共展示了WorkQueueImpl类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: ThreadPoolImpl

import com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl; //导入依赖的package包/类
/**
 * This constructor is used to create an unbounded threadpool
 */
public ThreadPoolImpl(ThreadGroup tg, String threadpoolName) {
    inactivityTimeout = ORBConstants.DEFAULT_INACTIVITY_TIMEOUT;
    maxWorkerThreads = Integer.MAX_VALUE;
    workQueue = new WorkQueueImpl(this);
    threadGroup = tg;
    name = threadpoolName;
    initializeMonitoring();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:12,代码来源:ThreadPoolImpl.java

示例2: run

import com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl; //导入依赖的package包/类
public void run() {
    try  {
        while (!closeCalled) {
            try {
                currentWork = ((WorkQueueImpl)workQueue).requestWork(
                    inactivityTimeout);
                if (currentWork == null)
                    continue;
            } catch (InterruptedException exc) {
                wrapper.workQueueThreadInterrupted( exc, getName(),
                   Boolean.valueOf(closeCalled));

                continue ;
            } catch (Throwable t) {
                 wrapper.workerThreadThrowableFromRequestWork(this, t,
                        workQueue.getName());

                continue;
            }

            performWork();

            // set currentWork to null so that the work item can be
            // garbage collected without waiting for the next work item.
            currentWork = null;

            resetClassLoader();
        }
    } catch (Throwable e) {
        // This should not be possible
        wrapper.workerThreadCaughtUnexpectedThrowable(this,e);
    } finally {
        synchronized (workersLock) {
            workers.remove(this);
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:38,代码来源:ThreadPoolImpl.java

示例3: ThreadPoolImpl

import com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl; //导入依赖的package包/类
/**
 * This constructor is used to create an unbounded threadpool
 */
public ThreadPoolImpl(ThreadGroup tg, String threadpoolName) {
    inactivityTimeout = ORBConstants.DEFAULT_INACTIVITY_TIMEOUT;
    maxWorkerThreads = Integer.MAX_VALUE;
    workQueue = new WorkQueueImpl(this);
    threadGroup = tg ;
    name = threadpoolName;
    initializeMonitoring();
}
 
开发者ID:aducode,项目名称:openjdk-source-code-learn,代码行数:12,代码来源:ThreadPoolImpl.java

示例4: initializeMonitoring

import com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl; //导入依赖的package包/类
private void initializeMonitoring() {
    // Get root monitored object
    MonitoredObject root = MonitoringFactories.getMonitoringManagerFactory().
            createMonitoringManager(MonitoringConstants.DEFAULT_MONITORING_ROOT, null).
            getRootMonitoredObject();

    // Create the threadpool monitoring root
    MonitoredObject threadPoolMonitoringObjectRoot = root.getChild(
                MonitoringConstants.THREADPOOL_MONITORING_ROOT);
    if (threadPoolMonitoringObjectRoot == null) {
        threadPoolMonitoringObjectRoot =  MonitoringFactories.
                getMonitoredObjectFactory().createMonitoredObject(
                MonitoringConstants.THREADPOOL_MONITORING_ROOT,
                MonitoringConstants.THREADPOOL_MONITORING_ROOT_DESCRIPTION);
        root.addChild(threadPoolMonitoringObjectRoot);
    }
    threadpoolMonitoredObject = MonitoringFactories.
                getMonitoredObjectFactory().
                createMonitoredObject(name,
                MonitoringConstants.THREADPOOL_MONITORING_DESCRIPTION);

    threadPoolMonitoringObjectRoot.addChild(threadpoolMonitoredObject);

    LongMonitoredAttributeBase b1 = new
        LongMonitoredAttributeBase(MonitoringConstants.THREADPOOL_CURRENT_NUMBER_OF_THREADS,
                MonitoringConstants.THREADPOOL_CURRENT_NUMBER_OF_THREADS_DESCRIPTION) {
            public Object getValue() {
                return new Long(ThreadPoolImpl.this.currentNumberOfThreads());
            }
        };
    threadpoolMonitoredObject.addAttribute(b1);
    LongMonitoredAttributeBase b2 = new
        LongMonitoredAttributeBase(MonitoringConstants.THREADPOOL_NUMBER_OF_AVAILABLE_THREADS,
                MonitoringConstants.THREADPOOL_CURRENT_NUMBER_OF_THREADS_DESCRIPTION) {
            public Object getValue() {
                return new Long(ThreadPoolImpl.this.numberOfAvailableThreads());
            }
        };
    threadpoolMonitoredObject.addAttribute(b2);
    LongMonitoredAttributeBase b3 = new
        LongMonitoredAttributeBase(MonitoringConstants.THREADPOOL_NUMBER_OF_BUSY_THREADS,
                MonitoringConstants.THREADPOOL_NUMBER_OF_BUSY_THREADS_DESCRIPTION) {
            public Object getValue() {
                return new Long(ThreadPoolImpl.this.numberOfBusyThreads());
            }
        };
    threadpoolMonitoredObject.addAttribute(b3);
    LongMonitoredAttributeBase b4 = new
        LongMonitoredAttributeBase(MonitoringConstants.THREADPOOL_AVERAGE_WORK_COMPLETION_TIME,
                MonitoringConstants.THREADPOOL_AVERAGE_WORK_COMPLETION_TIME_DESCRIPTION) {
            public Object getValue() {
                return new Long(ThreadPoolImpl.this.averageWorkCompletionTime());
            }
        };
    threadpoolMonitoredObject.addAttribute(b4);
    LongMonitoredAttributeBase b5 = new
        LongMonitoredAttributeBase(MonitoringConstants.THREADPOOL_CURRENT_PROCESSED_COUNT,
                MonitoringConstants.THREADPOOL_CURRENT_PROCESSED_COUNT_DESCRIPTION) {
            public Object getValue() {
                return new Long(ThreadPoolImpl.this.currentProcessedCount());
            }
        };
    threadpoolMonitoredObject.addAttribute(b5);

    // Add the monitored object for the WorkQueue

    threadpoolMonitoredObject.addChild(
            ((WorkQueueImpl)workQueue).getMonitoredObject());
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:70,代码来源:ThreadPoolImpl.java


注:本文中的com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。