📄 threadpooltask.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: ThreadPoolTask.java
package org.gudy.azureus2.core3.util;
// Referenced classes of package org.gudy.azureus2.core3.util:
// AERunnable, Debug, ThreadPool
public abstract class ThreadPoolTask extends AERunnable
{
static final int RELEASE_AUTO = 0;
static final int RELEASE_MANUAL = 1;
static final int RELEASE_MANUAL_ALLOWED = 2;
int manualRelease;
protected ThreadPool.threadPoolWorker worker;
public ThreadPoolTask()
{
}
public void setTaskState(String state)
{
worker.setState(state);
}
public String getTaskState()
{
return worker != null ? worker.getState() : "";
}
public String getName()
{
return null;
}
public abstract void interruptTask();
public void taskStarted()
{
}
public void taskCompleted()
{
}
synchronized void join()
{
while (manualRelease != 0)
try
{
wait();
}
catch (Exception e)
{
Debug.printStackTrace(e);
}
}
synchronized boolean isAutoReleaseAndAllowManual()
{
if (manualRelease == 1)
manualRelease = 2;
return manualRelease == 0;
}
public synchronized void releaseToPool()
{
if (manualRelease == 1)
manualRelease = 0;
else
if (manualRelease == 2)
{
taskCompleted();
worker.getOwner().releaseManual(this);
manualRelease = 0;
} else
if (manualRelease == 0)
Debug.out("this should not happen");
notifyAll();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -