Heim > Java > javaLernprogramm > Verwendung der Worker-Klasse von Java für die Verarbeitung von Hintergrundaufgaben

Verwendung der Worker-Klasse von Java für die Verarbeitung von Hintergrundaufgaben

WBOY
Freigeben: 2023-04-20 22:34:21
nach vorne
1399 Leute haben es durchsucht

Erklärung

1. Worker ist eine interne Klasse von ThreadPoolexecutor, die hauptsächlich zur Aufrechterhaltung des Interrupt-Kontrollstatus von Thread-Ausführungsaufgaben verwendet wird.

2. AQS während der Implementierung der Runnable-Schnittstelle erben. Die Implementierung der Runnable-Schnittstelle bedeutet, dass der Worker ein Thread ist.

Instanz

    private final class Worker
      extends AbstractQueuedSynchronizer
      implements Runnable{
        /**
         * This class will never be serialized, but we provide a
         * serialVersionUID to suppress a javac warning.
         */
        private static final long serialVersionUID = 6138294804551838833L;
 
        /** Thread this worker is running in.  Null if factory fails. */
       // 执行任务的线程
        final Thread thread;
        /** Initial task to run.  Possibly null. */
       // 执行的任务
        Runnable firstTask;
        /** Per-thread task counter */
        volatile long completedTasks;
 
        /**
         * Creates with given first task and thread from ThreadFactory.
         * @param firstTask the first task (null if none)
         */
        Worker(Runnable firstTask) {
          // 新建线程的时候,设置state -1 是为了防止线程还未执行时(线程只有在执行的时候才会被中断),就被     // 其它线程显式调用shutdown方法中断了,因为中断是要判断state大于等于0才会中断
          setState(-1);
          this.firstTask = firstTask;
          // 新建了一个线程
          this.thread = getThreadFactory().newThread(this);
        }
 
        /** Delegates main run loop to outer runWorker  */
        public void run() {
            runWorker(this);
        }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVerwendung der Worker-Klasse von Java für die Verarbeitung von Hintergrundaufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage