最后
小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。
关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。
这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!
/**
-
提交多个任务
-
@param tasks 任务
-
@param consumer 结果消费
-
@param 泛型
*/
public static void submit(List<Callable> tasks, Consumer consumer) {
CompletionService completionService = new ExecutorCompletionService<>(EXECUTOR_SERVICE);
tasks.forEach(completionService::submit);
tasks.forEach(
x -> {
try {
consumer.accept(completionService.take().get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
});
}
public static void destroy() {
System.out.println(“摧毁线程池”);
EXECUTOR_SERVICE.shutdown();
}
public static void main(String[] args) {
// 启动3个线程执行试试看
List<Callable> tasks =
Arrays.asList(
() -> {
try {
TimeUnit.SECONDS.sleep(30);
System.out.println(“task 30 completed”);
} catch (InterruptedException e) {
e.printStackTrace();
}
return 30;
},
() -> {
try {
TimeUnit.SECONDS.sleep(10);
System.out.println(“task 10 completed”);
} catch (InterruptedException e) {
e.printStackTrace();
}
return 10;
},
() -> {
try {
TimeUnit.SECONDS.sleep(20);
System.out.println(“task 20 completed”);
} catch (InterruptedException e) {
e.printStackTrace();
}
return 20;
});
ThreadPriorityUtil.submit(tasks, x -> System.out.println(“回调结果:” + x));
ThreadUtil.sleep(40000L);
ThreadPriorityUtil.destroy();
}
}
执行看看
OK,先执行结束的线程,先消费。
总结
==
一个姑娘,如果有被人喜欢,而且那个人喜欢的干干净净,怎么都是一件美好的事情。
如果本文对你有帮助的话,不要吝啬你的赞,狠狠的甩给我。
最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
JVM面试专题
Java并发面试专题
Kafka面试专题
MongDB面试专题
MyBatis面试专题
MySQL面试专题
Netty面试专题
RabbitMQ面试专题
Redis面试专题
Spring Cloud面试专题
SpringBoot面试专题
zookeeper面试专题
常见面试算法题汇总专题
计算机网络基础专题
设计模式专题
9275-1715295485311)]