記錄一個今天遇到的奇葩問題。
問題描述:
背景采用springmvc作為後端服務;
在背景中,前台進入一個請求,啟動一個http線程,該線程啟動一個新的線程作為http請求;
需要将這兩個線程做一下同步,然後傳回到前端;
線程同步我采用的是 thread.join(),通過final位址塊傳值;
出現的問題是: 調試,列印都有值,也做了線程同步,但是傳回到的前端頁面值一直為空,糾結了許久;
問題分析:
初次分析應該是線程同步的問題,于是我分别在主線程與子線程做了休眠處理,未果;
其次,我考慮到可能是springmvc異步請求的問題,但是異步請求的問題,我已經忘得差不多了,聯網檢視了相關的文章,排除;
最後,我考慮到是不是代碼同步的問題,于是将原來的ArrayList,String[] 分别用concurrent包下的 concurrentHashMap替代,未果;
之後,我又在各個代碼塊進行列印,列印值均正常,但是傳回到前端的值為空;
問題解決: