I'm pretty much sure that this couldn't happen as described, and that this would be possible only if thread 2 is running under read uncommitted
isolation level.
Having said that, these two statements can be written as one, using the output
clause:
update Items
set IsReady = 1
output inserted.Id into ProcessorQueue
where Id = 100