使用VC++,获取一个递增的唯一ID,我想知道在多线程应用程序中是否合法?
uint32_t GetNewId() { return ::InterlockedIncrement(&lastId); }
基本上,我想知道InterlockedIncrement是否仅仅保护了递增操作,还是返回值也被防止出现竞态条件的情况?
使用VC++,获取一个递增的唯一ID,我想知道在多线程应用程序中是否合法?
uint32_t GetNewId() { return ::InterlockedIncrement(&lastId); }
基本上,我想知道InterlockedIncrement是否仅仅保护了递增操作,还是返回值也被防止出现竞态条件的情况?