我有一个100个条目的列表,我想用多个线程处理.每个线程最多需要20个条目才能处理.
我目前正在使用全局临时表来存储符合特定条件的条目 - 我也不希望线程重叠要处理的条目.
我该怎么做(防止重叠)?
谢谢!
如果在11g,我会使用SELECT ... FOR UPDATE SKIP LOCKED.
如果在以前的版本中,我将使用高级队列来填充具有要处理的条目的主键值的队列,并让您的线程将这些键出列以处理这些记录.因为在处理事务范围内,dequeue可以(但不一定是,如果内存服务),dequeue会提交或回滚处理,并且没有两个线程可以获得相同的记录来处理.