⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadwithattributes.java

📁 Tomcat 4.1与WebServer集成组件的源代码包.
💻 JAVA
字号:
package org.apache.tomcat.util.threads;import java.util.Hashtable;/** Special thread that allows storing of attributes and notes. *  A guard is used to prevent untrusted code from accessing the *  attributes. * *  This avoids hash lookups and provide something very similar * with ThreadLocal ( but compatible with JDK1.1 and faster on * JDK < 1.4 ). * * The main use is to store 'state' for monitoring ( like "processing * request 'GET /' "). */public class ThreadWithAttributes extends Thread {    private Object control;    public static int MAX_NOTES=16;    private Object notes[]=new Object[MAX_NOTES];    private Hashtable attributes=new Hashtable();    private String currentStage;    private Object param;    public ThreadWithAttributes(Object control, Runnable r) {        super(r);        this.control=control;    }    /** Notes - for attributes that need fast access ( array )     * The application is responsible for id management     */    public final void setNote( Object control, int id, Object value ) {        if( this.control != control ) return;        notes[id]=value;    }    /** Information about the curent performed operation     */    public final String getCurrentStage(Object control) {        if( this.control != control ) return null;        return currentStage;    }    /** Information about the current request ( or the main object     * we are processing )     */    public final Object getParam(Object control) {        if( this.control != control ) return null;        return param;    }    public final void setCurrentStage(Object control, String currentStage) {        if( this.control != control ) return;        this.currentStage = currentStage;    }    public final void setParam( Object control, Object param ) {        if( this.control != control ) return;        this.param=param;    }    public final Object getNote(Object control, int id ) {        if( this.control != control ) return null;        return notes[id];    }    /** Generic attributes. You'll need a hashtable lookup -     * you can use notes for array access.     */    public final Hashtable getAttributes(Object control) {        return attributes;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -