Time 临时文件-随时间生成唯一ID

Time 临时文件-随时间生成唯一ID,time,concurrency,system,unique,Time,Concurrency,System,Unique,为了给临时文件提供一个标识符,我想在linux上实现一个系统调用,它将返回一个唯一的标识符。更重要的是,我的系统调用应该返回一个唯一的值,即使它被不同的进程同时使用。 我考虑过使用当前日期和时间,但我不确定并发调用是否会获得不同的标识符。 为了得到不同的时间,考虑一个非常精确的时间(例如微秒)是否足够??您可以用进程id附加一个时间戳,并使用该值。.“使用当前日期和时间”是不够的。你需要一些同步或原子操作来保证你是唯一的。为此,您可以重复生成“随机”文件名,并尝试使用O|u EXCL | O_c

为了给临时文件提供一个标识符,我想在linux上实现一个系统调用,它将返回一个唯一的标识符。更重要的是,我的系统调用应该返回一个唯一的值,即使它被不同的进程同时使用。
我考虑过使用当前日期和时间,但我不确定并发调用是否会获得不同的标识符。
为了得到不同的时间,考虑一个非常精确的时间(例如微秒)是否足够?

?您可以用进程id附加一个时间戳,并使用该值。.“使用当前日期和时间”是不够的。你需要一些同步或原子操作来保证你是唯一的。为此,您可以重复生成“随机”文件名,并尝试使用
O|u EXCL | O_create
创建一个文件,直到成功。