13、应用程序调度器与执行器的优化与使用

应用程序调度器与执行器的优化与使用

1. 执行器基础

调度器由执行器支持,在深入了解调度器之前,我们先介绍两种主要的执行器类型:ForkJoinPool 和 ThreadPool。
- ThreadPool 执行器 :有一个工作队列,工作被分配给线程,线程空闲时会从队列中获取工作。与频繁创建和销毁线程相比,线程池能复用线程,提高效率,因为创建和销毁线程是昂贵的操作。
- ForkJoinPool 执行器 :使用分治算法将任务递归拆分成更小的任务,然后分配到不同线程上运行,最后合并结果。即使提交的任务不是以 ForkJoinTasks 形式递归拆分,ForkJoinPool 执行器也有工作窃取算法,允许空闲线程“窃取”其他线程的工作。由于工作分配和完成往往不均匀,工作窃取能更有效地利用硬件资源。通常,ForkJoinPool 执行器的性能优于 ThreadPool 执行器,是默认选择。

2. 创建调度器

application.conf 文件中定义调度器时,需要指定调度器类型和执行器,还可以指定执行器的特定配置细节,如使用的线程数量、每个 actor 在处理下一个任务前处理的消息数量等。示例如下:

my-dispatcher { 
    type=Dispatcher 
    executor = "fork-join-executor" 

   fork-join-executor { 
      parallelism-min = 2 #Minimum threads 
      parallelism
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值