0 0

ThreadPoolExecutor#Worker.interruptIfIdle源码 困惑5

        /**
         * Interrupts thread if not running a task.
         */
        void interruptIfIdle() {
            final ReentrantLock runLock = this.runLock;
            if (runLock.tryLock()) {
                try {
    if (thread != Thread.currentThread())
thread.interrupt();
                } finally {
                    runLock.unlock();
                }
            }
        }

当在ThreadPoolExecutor.shutdown()时会调用到Worker.interruptIfIdle()方法。但是ThreadPoolExecutor.shutdown()的线程和worker所在的线程肯定是不一样的呀,因此肯定会执行thread.interrput(),这样正在运行的worker也会被中断么?不懂,求解!!
2013年2月24日 09:48
目前还没有答案

相关推荐

    ThreadPoolExecutor源码解析.md

    ThreadPoolExecutor源码解析.md

    ThreadPoolExecutor源码解析.pdf

    《ThreadPoolExecutor源码解析》 ThreadPoolExecutor是Java并发编程中重要的组件,它是ExecutorService接口的实现,用于管理和调度线程的执行。理解其源码有助于我们更好地控制并发环境下的任务执行,提高系统的...

    Java面试题及解惑

    ### Java基础知识 #### 1. Java的基本数据类型与String类型的区别...- 使用`ThreadPoolExecutor`类。 #### 40. JVM加载class文件的原理 - 描述类加载器如何加载类文件。 #### 41. 示例说明 - 提供具体的代码示例。

    java面经_加水印.pdf

    Java中的Executor框架提供了线程池的实现,如ThreadPoolExecutor和ScheduledThreadPoolExecutor。 #### 4. 线程通信 线程通信常用的方法有wait、notify和notifyAll,这些方法都是Object类的成员方法。通过这三个...

    JAVA并发编程实践.pdf

    - **ThreadPoolExecutor**:自定义线程池的核心类。 - **ScheduledExecutorService**:支持定时任务的线程池。 #### 4. 原子操作 - **AtomicInteger/AtomicLong**:原子整型变量。 - **AtomicReference**:原子引用...

    说说你对ThreadPoolExecutor的理解.docx

    ThreadPoolExecutor是Java并发编程中非常重要的一个组件,它位于`java.util.concurrent`包下,用于管理线程资源,实现线程池服务。线程池通过有效地控制并发执行的任务数量,可以提高系统的性能和稳定性。 ...

    Java核心技术,卷1(原书第8版).pdf 中文 自制完整书签

    - **线程池**:ExecutorService、ThreadPoolExecutor等类,管理线程资源。 - **锁机制**:synchronized关键字、ReentrantLock等。 - **并发容器**:ConcurrentHashMap等,支持高并发下的数据操作。 ### 七、网络...

    android面试宝典

    - **线程池**:ExecutorService,ThreadPoolExecutor的配置与使用。 #### 4. 内存模型 - **JVM内存区域**:堆、栈、方法区、程序计数器、本地方法栈。 - **垃圾回收**:GC算法,如何调优。 #### 5. 设计模式 - **...

    2019年一线互联网公司Java高级面试题总结

    - 通过`ExecutorService`接口和`ThreadPoolExecutor`实现类来创建和管理线程池。 #### 6. Synchronized与Lock - **Synchronized**: 内置锁机制,可实现对象锁和方法锁。对象锁作用于对象实例,而方法锁则锁定整个...

    高并发编程实战1,2,3阶段

    - **线程池管理**:Executor框架、ThreadPoolExecutor类详解。 #### 第二阶段:高级技术与最佳实践 ##### 1. 锁优化技术 - **公平锁与非公平锁**:锁获取策略对比及应用场景分析。 - **自旋锁**:原理、优缺点及...

    java开发面试宝典----中级

    - **线程池**:Executor框架的基本概念,如ThreadPoolExecutor等。 - **并发工具类**:如CountDownLatch、CyclicBarrier等,了解它们的用途及应用场景。 ### Java高级特性 #### 1. 泛型 - **泛型类和接口**:如何...

    2024-2025年Java大-中厂高频面试题

    - **`ThreadPoolExecutor`**内部使用`WorkQueue`来管理任务, 当任务完成后, 任务的状态会被更新, 从而通知线程池。 #### 4. `ConcurrentHashMap`底层实现 - **分段锁技术**: 在JDK 1.7及之前版本使用。 - **红黑树...

    死磕ThreadPoolExecutor线程池.pdf

    死磕ThreadPoolExecutor线程池.pdf!!死磕ThreadPoolExecutor线程池.pdf死磕ThreadPoolExecutor线程池.pdf死磕ThreadPoolExecutor线程池.pdf

    python concurrent.futures 中文文档

    由于Executor本身是一个抽象类,因此不能直接使用它来创建实例,而应该使用它的两个子类ThreadPoolExecutor和ProcessPoolExecutor。 #### 2. ThreadPoolExecutor ThreadPoolExecutor是Executor的一个子类,它使用...

    《Java并发编程实战》PDF版本下载.txt

    - **ThreadPoolExecutor**:核心线程池类。 - **Executors工具类**:提供多种预定义的线程池工厂方法。 - **线程池参数配置**:如corePoolSize、maximumPoolSize、keepAliveTime等。 #### 3. 原子变量 - **...

    java多线程查询数据库

    Java中的线程池是通过`java.util.concurrent.ExecutorService`接口和其实现类(如`ThreadPoolExecutor`)来创建的。线程池可以有效地管理线程资源,避免频繁创建和销毁线程带来的开销。通过设置线程池的参数(核心...

    java http多线程下载器

    `ThreadPoolExecutor`可用于管理线程池,`CountDownLatch`或`CyclicBarrier`可帮助协调线程间的同步。 通过以上讨论,我们可以看到,构建一个Java HTTP多线程下载器涉及到多个Java的核心概念和技术,包括网络编程、...

Global site tag (gtag.js) - Google Analytics