记录一个今天遇到的奇葩问题。
问题描述:
后台采用springmvc作为后端服务;
在后台中,前台进入一个请求,启动一个http线程,该线程启动一个新的线程作为http请求;
需要将这两个线程做一下同步,然后返回到前端;
线程同步我采用的是 thread.join(),通过final地址块传值;
出现的问题是: 调试,打印都有值,也做了线程同步,但是返回到的前端页面值一直为空,纠结了许久;
问题分析:
初次分析应该是线程同步的问题,于是我分别在主线程与子线程做了休眠处理,未果;
其次,我考虑到可能是springmvc异步请求的问题,但是异步请求的问题,我已经忘得差不多了,联网查看了相关的帖子,排除;
最后,我考虑到是不是代码同步的问题,于是将原来的ArrayList,String[] 分别用concurrent包下的 concurrentHashMap替代,未果;
之后,我又在各个代码块进行打印,打印值均正常,但是返回到前端的值为空;
问题解决: