Following examancer's suggestion, I would create a log table where you have a list of the threads the different users have accessed (you could do this by user login or by IP address...) and at what time they did so.
I would create some sort of job that deletes all records from this table older than X minutes, so you always have a reasonably small sized table to inspect.
Finally, before doing the update, all you need to do is check if the user or IP address already exist on the table for your particular thread.