Java 线程被中断意味着什么?
比方说,我使用executorService在java中生成多个线程,如下所示:Java 线程被中断意味着什么?,java,multithreading,threadpool,Java,Multithreading,Threadpool,比方说,我使用executorService在java中生成多个线程,如下所示: public class AbcThreadPool { private final AbcThreadPoolExecutor executor; public InventoryAvailabilityThreadPool(final AbcRunnableFactory factory, final In
public class AbcThreadPool {
private final AbcThreadPoolExecutor executor;
public InventoryAvailabilityThreadPool(final AbcRunnableFactory factory,
final Integer poolSize) {
executor = new AbcThreadPoolExecutor(factory, poolSize);
for (int i = 0; i < poolSize; ++i) {
executor.execute(factory.createRunnable());
}
}
private static class AbcThreadPoolExecutor extends ThreadPoolExecutor {
private final AbcRunnableFactory factory;
public AbcThreadPoolExecutor(final AbcRunnableFactory factory,
final int poolSize) {
super(poolSize, poolSize, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>());
this.factory = factory;
allowCoreThreadTimeOut(false);
}
}
@Override
protected void afterExecute(Runnable r, Throwable t) {
if (!isShutdown() && !Thread.currentThread().isInterrupted()) {
execute(factory.createRunnable());
}
}
}
公共类AbcThreadPool{
私人最终ABCThread池执行人执行人;
公共资源清册可用性线程池(最终AbcRunnableFactory,
最终整数池大小){
executor=新AbcThreadPoolExecutor(工厂,池大小);
对于(int i=0;i
在afterExecute中,我们使用的条件是!isShutdown()&!Thread.currentThread().isInterrupted()
我想知道线程关闭或被中断是什么意思。在这种情况下,我们不执行runnable。对于进程关闭或中断,我认为它相当于CTRL+C。但是在线程中,它们是进程内部运行的小东西。怎么会有我只杀死一个线程的Ctrl+C呢。一个线程会被中断,因为,比方说,你已经在线程上调用了
interrupt()
方法。请参阅public inventory availability threadpool(…
这不会编译…@在执行后覆盖受保护的void(…
您在AbcThreadPool extends Object
中覆盖了什么?我理解您的问题,但这段代码在做什么?