Before considering locking try the scan when no one is in the table.
Would you be happy to share the code for the scan, the table structure and no. of records. It might be that there is a logic error in the scan. I think that sometimes a scan can repeatedly perform an unnecessary operation on each record rather than skip over them, it is based on how the scan loop is written.
Regards
Bystander