多线程异常的总结

最近开发一个导入excel数据的功能,记录一下多线程开发中遇到的困难及解决办法。

1.一开始测试数据的时候发现多线程运行是看不到异常的日志记录的,需要自定义线程工厂才可以看到异常日志。

2.后面学到了future类,通过这个类可以得到线程运行后的返回结果,如果有异常的话,得到的结果是抛出的异常,可以对这异常进行捕获。后来我遇到了我认为的一个终极bug,可能是我的能力有限,一直在这个地方卡住了,future.get()一直会被阻塞。第一次程序可以执行,但第二次执行的时候一直被阻塞了。我debug下发现是线程countlDownLatch没有减到0会引起阻塞,还有手动开启了多线程事务的时候都会引起线程的阻塞。

3.多线程的事务我现在暂时无法处理了,我试了又试,第二次运行线程总会被阻塞,实属郁闷,现在我想的是将异常的数据返回给页面做提示,能够成功导入的就导入。

4.最后我总结一下多线程事务,每个线程对应一个事务,如果运行一次程序,线程下要么提交,要么回滚,这样事务才能完整 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值