分组组织线程,并为每个组设置不同的最大线程
|
我正在使用Spring ThreadPoolTaskExecutor来执行我的线程。
我想将我的线程分为几组,并且每个组将具有不同的最大允许线程数。
例如,如下所示:
for (MyTask myTask : myTaskList){
threadPoolTaskExecutor.setMaxThreadsForGroup(myTask.getGroupName(), myTask.getMaxThreads());
threadPoolTaskExecutor.execute(myTask, myTask.getGroupName());
}
不知何故,threadPoolTaskExecutor应该只允许将myTask.getMaxThreads()允许到名为myTask.getGroupName()的每个组,并且所有任务中的最大线程总数不应超过applicationContext.xml中为threadPoolTaskExecutor定义的线程
有可能以简单的方式做到吗?
谢谢
没有找到相关结果
已邀请:
1 个回复
屡倒雷图
这种技术的唯一轻微缺点是,一旦工作程序任务开始,它们将不会屈服,直到所有子任务完成。如果您有合理的使用政策并希望避免饥饿,这可能会很糟糕。