最近的项目突然有个需要多线程处理的一个需求,大概的场景就是:
业务A:人员1提交一个申请【在数据库中保存一条 未处理任务提醒-针对管理员1】——管理员1审批【在数据库中保存一条 审批结果-针对人员1】
业务B:人员2提交一个申请【在数据库中保存一条 未处理任务提醒-针对管理员2】——管理员2审批【在数据库中保存一条 审批结果-针对人员2】
.....等等
刚开始要使用线程池我很疑惑,这压根不是解决并发的啊,这个项目的并发量也不是并发级别的啊,况且,Servlet那边已经维护了一个线程池,多个人访问一个业务方法也是不同的任务线程,也没啥问题啊,在这加个线程池单独保存待发送的消息,应该是要异步的解决存储消息的问题,
解决的问题就是:主线程可以将保存消息的任务抛给线程池里的线程去执行,换句话说就是
一头驴要到达B地点将玉米倒掉,B地点有一堆大米,
然后需要将B地点的大米用 驴盛玉米的袋子 将B点的大米 装起来送到C地点,驴不太开心,
然后主人安排了一群骡子在B地点等候驴卸完玉米 将玉米袋子给骡子,由骡子将B地点的大米装起来送到C点
驴则不用管了
代码已上传github:https://github.com/zhangxuewei1263944101/ThreadPoolDemo.git
测试工具使用的JMeter,直接下载5.2版本的,无需配置环境变量直接运行 bin目录下的jmeter.bat即可
选择语言
你也可以在配置文件中进行配置,一劳永逸