Mysql bloquear registos

Boas pessoal!

base de dados : Mysql

Quando faço um select gostaria que os registos que eu selecionei fossem bloqueados para que nao seja visiveis nos threads seguintese eles nao os possam manipular manipular.

O que acontece é que quando eu executo um thead ele faz um select ele leva um tempinho para processar todos os registos que ele encontrou, e durante o meio deste processamento outra thread começa e vai a procurar de rgistos que ainda nao foram tratados, incluindo aqueles que estao a ser tratados pela thread anterior. o que ta me dando alguma duplicação no programa.

a thread é executado de x em x segundos e as vezes o processamento de cada thread leva mais tempo que o intervalo da execução de cada thread.

Tem como eu fazer isso de modos a que quando uma thread apanhar um determinado numero de registos so ela trata deles ?

Obrigado !

Carinha, isso tá me cheirando a falha de projeto no desenho da tabela: se você tem que preparar os dados de alguma maneira antes que eles possam ser utilizados, você tem que marcá-los de alguma forma: por exemplo, colocar um campo chamado “lock” na sua tabela e enquanto o “lock” tiver determinado valor outros pontos da aplicação não podem utilizá-los.

Aí você faz um select “where lock <> ‘X’” onde X é o valor que indica que travou.