相信看了本文后,对你的面试是有一定帮助的!
?点赞?收藏?不迷路!?
1)什么是线程池?
线程池是一种管理和复用线程的机制。它通过预先创建一组线程,并使用这些线程来执行任务,从而避免了频繁创建和销毁线程的开销,提高了系统的性能和资源利用率。
2)怎么使用线程池?
3)线程池有哪些参数?
4)线程池底层工作原理
5)常见的线程安全并发容器有哪些?
import java.util.concurrent.*;
public class ThreadPoolExample {
public static void main(String[] args) throws Exception {
// 创建线程池对象,大小为10
ExecutorService executor = Executors.newFixedThreadPool(10);
// 创建线程安全的哈希表
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// 提交10个任务给线程池
for (int i = 1; i <= 10; i++) {
final int taskNum = i;
executor.submit(new Runnable() {
public void run() {
// 线程安全的putIfAbsent方法
map.putIfAbsent("key" + taskNum, taskNum);
System.out.println("Task " + taskNum + " is running.");
}
});
}
// 关闭线程池
executor.shutdown();
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
// 输出哈希表中的内容
System.out.println(map);
}
}