求助, 这个属于java线程问题么?怎么解决

jisi772864447 2011-04-26 03:51:27
我有一张表 t_demo (id, 编码, 所属类型)
id是主键自增的。
编码是其中一个字段,在同一类型下自增。

例如所属类型为: 410900000
那么编码应该是 410900000 后面加5位自增,
如果该类型下有三条记录:那么编码应该是
410900000 00000
410900000 00001
410900000 00002,

在java中, 2个操作员同时去添加某一类型下面的编码,
怎么样才能不重复,
需要用多线程控制么? 多线程应该怎么实现?
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
opmic 2011-05-11
  • 打赏
  • 举报
回复
不需要多线程控制,先去seq 如 00001,然后拼起来
chentaodn 2011-05-11
  • 打赏
  • 举报
回复
使用oracle的seq就可以了 很简单的。
zhuxinkun 2011-05-11
  • 打赏
  • 举报
回复
数据库表自增的话,一般不需要考虑开多线程方式来解决.
1楼的方法也是一种常用的方法,可以试一下.
lamb218 2011-05-11
  • 打赏
  • 举报
回复
是呀,如果是oracle可以直接采用select锁表来实现。
尽量不要通过线程来控制,太浪费资源了
beannian 2011-04-28
  • 打赏
  • 举报
回复
数据库里面的并行控制,一般采用加锁机制
icy_csdn 2011-04-27
  • 打赏
  • 举报
回复
方法应该有很多,在插入数据前先获取一个编号。
可以建立一个表t_seq(类型,顺序号)
410900001 0
410900010 101
410900020 500

在插入记录下,先确保相应类型的顺序号增1。
当然,你也可以不使用数据库,方案有很多。

25,983

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧