为什么要控制线程数?
虽然线程越多,判题越快,但是服务器资源也是有限的,上一篇程序还未考虑这个问题,来一轮压力测试:
非常明显,电脑都直接卡死了,apifox崩溃自动退出结束了压力测试才使得鼠标能移动的。
怎么控制线程数量?
首先想到的是线程池,利用线程池自动阻塞判题请求,就能自由控制判题线程。直接上代码,修改
TestController.java
import com.alibaba.fastjson.JSONObject;
import com.deng.bean.Answer;
import com.deng.service.TestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody