mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix lock
This commit is contained in:
parent
cf1c96592c
commit
6d21bb930e
@ -6,6 +6,8 @@
|
|||||||
# 5.4.2 (2020-08-29)
|
# 5.4.2 (2020-08-29)
|
||||||
|
|
||||||
### 新特性
|
### 新特性
|
||||||
|
* 【core 】 lock放在try外边(pr#1050@Github)
|
||||||
|
|
||||||
### Bug修复#
|
### Bug修复#
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package cn.hutool.core.thread;
|
package cn.hutool.core.thread;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.AbstractExecutorService;
|
import java.util.concurrent.AbstractExecutorService;
|
||||||
@ -18,12 +20,17 @@ import java.util.concurrent.TimeoutException;
|
|||||||
public class DelegatedExecutorService extends AbstractExecutorService {
|
public class DelegatedExecutorService extends AbstractExecutorService {
|
||||||
private final ExecutorService e;
|
private final ExecutorService e;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造
|
||||||
|
*
|
||||||
|
* @param executor {@link ExecutorService}
|
||||||
|
*/
|
||||||
DelegatedExecutorService(ExecutorService executor) {
|
DelegatedExecutorService(ExecutorService executor) {
|
||||||
|
Assert.notNull(executor, "executor must be not null !");
|
||||||
e = executor;
|
e = executor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public void execute(Runnable command) {
|
public void execute(Runnable command) {
|
||||||
e.execute(command);
|
e.execute(command);
|
||||||
}
|
}
|
||||||
@ -34,7 +41,6 @@ public class DelegatedExecutorService extends AbstractExecutorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public List<Runnable> shutdownNow() {
|
public List<Runnable> shutdownNow() {
|
||||||
return e.shutdownNow();
|
return e.shutdownNow();
|
||||||
}
|
}
|
||||||
@ -50,44 +56,37 @@ public class DelegatedExecutorService extends AbstractExecutorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
|
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
|
||||||
return e.awaitTermination(timeout, unit);
|
return e.awaitTermination(timeout, unit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public Future<?> submit(Runnable task) {
|
public Future<?> submit(Runnable task) {
|
||||||
return e.submit(task);
|
return e.submit(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public <T> Future<T> submit(Callable<T> task) {
|
public <T> Future<T> submit(Callable<T> task) {
|
||||||
return e.submit(task);
|
return e.submit(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public <T> Future<T> submit(Runnable task, T result) {
|
public <T> Future<T> submit(Runnable task, T result) {
|
||||||
return e.submit(task, result);
|
return e.submit(task, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException {
|
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException {
|
||||||
return e.invokeAll(tasks);
|
return e.invokeAll(tasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
|
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
|
||||||
throws InterruptedException {
|
throws InterruptedException {
|
||||||
return e.invokeAll(tasks, timeout, unit);
|
return e.invokeAll(tasks, timeout, unit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("NullableProblems")
|
|
||||||
public <T> T invokeAny(Collection<? extends Callable<T>> tasks)
|
public <T> T invokeAny(Collection<? extends Callable<T>> tasks)
|
||||||
throws InterruptedException, ExecutionException {
|
throws InterruptedException, ExecutionException {
|
||||||
return e.invokeAny(tasks);
|
return e.invokeAny(tasks);
|
||||||
|
@ -8,6 +8,12 @@ import java.util.concurrent.ExecutorService;
|
|||||||
* @author loolly
|
* @author loolly
|
||||||
*/
|
*/
|
||||||
public class FinalizableDelegatedExecutorService extends DelegatedExecutorService {
|
public class FinalizableDelegatedExecutorService extends DelegatedExecutorService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造
|
||||||
|
*
|
||||||
|
* @param executor {@link ExecutorService}
|
||||||
|
*/
|
||||||
FinalizableDelegatedExecutorService(ExecutorService executor) {
|
FinalizableDelegatedExecutorService(ExecutorService executor) {
|
||||||
super(executor);
|
super(executor);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user