但是最近遇到一个问题,看起来很无解。如果任务量少,需要使用的线程数量也少,这种场景通过二阶段提交实现多线程事务控制是没有问题的。
但是如果任务量很多的情况下:线程池的池子内部线程数量是有限的,所以任务量再大,同时在运行的也只能是线程池容量大小的任务数。在这个前提下,二阶段提交是需要等所有线程一阶段执行结束后,进入二阶段,统一回滚或者提交,回滚或者提交都是需要在各自线程内部进行。
比如任务量是 20 个,线程池容量是 10 ,一次性只能有 10 个任务在执行,这个限制下,仅仅能实现 10 个任务的统一提交或者回滚。描述大概就这样,需要代码的话再贴
看有没有别的思路,我卡住了。