详细列举线程池的拒绝策略
时间: 2023-11-14 18:51:20 浏览: 31
好的,关于线程池的拒绝策略,一般有以下几种:
1. AbortPolicy(默认策略):直接抛出 RejectedExecutionException 异常,默认就是此策略。
2. CallerRunsPolicy:直接在 execute 方法的调用线程中执行被拒绝任务,显然会降低开发效率。
3. DiscardOldestPolicy:丢弃任务队列中最老的一个请求(最先加入队列但尚未被执行的请求),然后在尝试将当前任务加入队列,重复此过程直到成功加入任务。
4. DiscardPolicy:直接丢弃被拒绝的任务,不予任何处理。
以上就是线程池的拒绝策略的详细列举。
相关问题
请列举四种常见的线程池
常见的线程池有以下四种:
1. FixedThreadPool:固定线程数的线程池,线程数量固定,不会根据任务数量的变化而变化。
2. CachedThreadPool:缓存线程池,线程数量不固定,根据任务数量的变化动态调整线程数量。
3. SingleThreadExecutor:单线程化线程池,只有一个工作线程执行任务。
4. ScheduledThreadPool:定时任务线程池,用于定时执行任务,支持周期性执行和延时执行。
bash脚本语法详细列举
以下是Bash脚本语言的一些常用语法:
1. 变量定义和使用
```
variable_name="variable_value"
echo $variable_name
```
2. 条件语句
```
if [ condition ]; then
# statements
elif [ condition ]; then
# statements
else
# statements
fi
```
3. 循环语句
```
# for语句
for variable in range; do
# statements
done
# while语句
while [ condition ]; do
# statements
done
# until语句
until [ condition ]; do
# statements
done
```
4. 函数定义和调用
```
function_name() {
# statements
}
function_name parameter1 parameter2
```
5. 输入输出
```
# 输入
read variable_name
# 输出
echo "message"
printf "message with formatting"
```
6. 数组
```
# 数组定义
array_name=(value1 value2 value3)
# 数组元素获取
echo ${array_name[0]}
# 数组长度获取
echo ${#array_name[@]}
```
7. 文件操作
```
# 文件读写
echo "message" > file_name.txt
cat file_name.txt
# 文件追加
echo "message" >> file_name.txt
# 文件读取
while read line; do
echo $line
done < file_name.txt
```
以上是Bash脚本语言的一些常用语法,还有许多其它的语法和特性可以在Bash脚本中使用。