Chinaunix首页 | 论坛 | 博客
  • 博客访问: 573753
  • 博文数量: 493
  • 博客积分: 2891
  • 博客等级: 少校
  • 技术积分: 4960
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 17:11
文章分类

全部博文(493)

文章存档

2010年(493)

分类:

2010-05-12 16:35:08

1.1 A项目新版本开发对某模块做了较大的改动,由原来的单线程处理改为多线程。
在第一轮测试中发现了一个数据库异常问题:当新增加下发数据线程在不断查询数据库表并下发数据的过程中,另一个线程做添加产品操作(往product表添加一条记录)。添加产品失败,报错信息如下:
模块名: EMMGGW, 行: 11271, 错误级别: 3, 错误码: 1002, 错误信息: ORA-01002: 读取违反顺序
3.1 解决方案
 若多个线程对一个数据库连接做信号量保护,进程的并发性会变得很差;经过专家组讨论(刘昆、贾海波、孙超),建议每个线程使用不同的数据库连接,不仅数据库连接的并发操作不需要代码控制(交给数据库控制),而且提高了性能(提高了1\3)
阅读(753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~