本文整理汇总了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();
}
示例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);
}
}
}
示例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();
}
示例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());
}