随笔 - 24  文章 - 0 评论 - 19 阅读 - 41681
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

07 2011 档案
线程安全的XpoSequencer
摘要:其实应该算是补遗了,之前的一篇随笔曾经介绍了如何在XPO中为非主键字段获取Int型自增量,但今次在实际应用中发现该段代码是有问题的。最大的问题,它并不线程安全的,这一点在今天的一个Parallel.For测试中暴露无遗。原代码使用一个MaxIdGenerationAttempts = 7的常量来控制重试次数,如果发现当前保存操作引发了LockingException则歇一段时间重试。这样有2个问题,一来它并没有根本上解决线程安全问题,在并发量稍高一点的情况下,某条不走运的线程重试了7次依然无法成功完成操作后还是会引发异常;二来多次的读写尝试耗费了大量的时间。加大这个常量可以延后引发异常的时间点 阅读全文
posted @ 2011-07-25 16:58 Elvin Chen 阅读(692) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示