高并发测试下的一些问题及解决
高并 发测试下的一些问题及解决
测试在sqlserver2000上进行,对工作流操作的相关方法在单元测试里进行多线程并发。测试发现sqlserver出现死锁的情况相当多,一些典 型的情况: ????String?id; ????String?name; ???? int ?num; ???? ???? } ?? < class ?table = " WFMS_TESTPO " ?name = " com.eway.workflow.test.po.TestPO " > ???? < id?name = " id " ?column = " ID " >< generator? class = " uuid " ? /></ id > ???? < property?name = " name " ?column = " NAME " ?type = " string " /> ???? < property?name = " num " ?column = " NUM " ?type = " integer " /> ?? </ class > </ hibernate - mapping > ????????TestPO?po? = ? new ?TestPO(); ????????po.setName( " ronghao " ); ????????po.setNum(num); ????????theadTestDao.save(po); ????????po.setName( " haorong " ); ????} ???? public ? void ?testSaveByJdbc( int ?num)?{ ????????String?sql? = ? " insert?into?WFMS_TESTPO?(ID,NAME,NUM)?values?(?,'RONGHAO',?) " ; ????????Object[]?params? = ? new ?Object[]{num,num}; ????????jdbcTemplate.update(sql,?params); ????????sql = " update?WFMS_TESTPO?set?name='haorong'?where?id=? " ??; ????????params? = ? new ?Object[]{num}; ????????jdbcTemplate.update(sql,?params); ????} ????????TheadtestTemplate?template? = ? new ?TheadtestTemplate(); ????????template.execute( new ?TheadtestCallback()?{ ???????????? public ? void ?doInThead( int ?suquence)?{ // ???????????????theadTestManager.testSave(suquence); ????????????????theadTestManager.testSaveByJdbc(suquence); ????????????} ????????},? 10 ); ????} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |