• 技术文章 >java >java基础

    java Worker类怎么用?

    小妮浅浅小妮浅浅2021-06-21 10:22:54原创2790

    说明

    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电脑。

    专题推荐:java worker类
    上一篇:java线程池中类的继承探究 下一篇:java如何定义变量

    相关文章推荐

    • php中Workerman框架是什么?• php Workerman框架的安装

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网