in reply to Re^2: Generate a unique ID
in thread Generate a unique ID
that prevent one copy of the program picking up the wrong files
I solved this once using "semaphore files", if a copy of a program picks up a file it checks if the semaphore is there. If it is, it skips the file, if not it creates one. After processing the file it is removed/moved to another directory and the semaphore file deleted. You need some bookkeeping to make it safe.
It's not clear to me why you need the "uniqueness" at all? If you don't want the slightest chance of a collision I think only the "lastId + 1" remains. You need some sort of locking mechanism of course to control access to the value, e.g. prevent a dirty read. Both timestamps and UUID-like things are not 100% safe. On the other hand, reading through UUID, I would say the chance is probably too small to bother.
Cheers
Harry
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Generate a unique ID
by BrowserUk (Patriarch) on Nov 15, 2010 at 17:25 UTC |