javaWorker类怎么用?

美女程序员鼓励师

说明

1、Worker是ThreadPoolexecutor的内部类,主要用于维持线程执行任务的中断控制状态。

2、在实现Runnable接口的同时继承AQS,实现Runnable接口意味着Worker是线程。

实例

    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);

        }

以上就是java Worker类的用法,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

以上是 javaWorker类怎么用? 的全部内容, 来源链接: utcz.com/z/544251.html

回到顶部