在实际开发过程中,我们会遇到在对数据量非常庞大的数据表进行操作时,速度会非常慢,而页面在发送数据请求的时候,
因后台相应数据慢,前台会一直处于等待的状态;在使用主线程分配子线程方式后,会避免此种情况的发生;原理是前台
发送数据请求,后台处理数据时间过长,前端都是立即相应,不会影响前端相应时间,而后端会慢慢处理!
代码示例:
@RestController
@RequestMapping("sys/foodKind")
public class FoodKindController extends AbstractController {
ExecutorService executorService = Executors.newFixedThreadPool(2); //分配2个子线程
@GetMapping("/synchroData")
public R synchroData() {
//子线程
executorService.execute(new Runnable() {
@Override
public void run() { //开启子线程
foodKindService.synchroData(); //数据处理
}
});
return R.ok();
}
}