java线程安全问题
1.做了个测试,使用HashMap ,多个线程做put get ,remove等操作,模拟类似tomcat存放session的数据结构
只是我在put,get remove时没有加同步锁,(线程不安全),用LR做压力测试,cpu很快就达到100%,但是令我不解的是
我停止LR测试时,cpu还是居高不下,即使过了2个多小时仍是如此,就跟程序进入了死循环一样,除非停止这个java程序,线程dump的信息,大多线程都是在对这个HashMap的get操作上,如果加上同步锁(线程安全),则没有以上问题
2.我不解的是,难道线程不安全会导致死循环?能不能有什么技术手段检测HashMap是否死循环?