0

Thread.CurrentThread.ManagedThreadId返回多处理器机器上的唯一 ID。

说明:我想生成唯一编号。我根据当前时间生成唯一编号,即 currentTmeinmillisecons 但是两个线程在相同的时间戳中访问相同的函数,所以我想在那个时间戳中添加一些唯一的东西。因此计划添加Thread.CurrentThread.ManagedThreadId CurrentTimeInMilliseconds。

那么我可以在 CurrentTimeInMilliseconds 中添加 Thread.CurrentThread.ManagedThreadId 吗?

4

1 回答 1

3

目前尚不清楚“在 CurrentTimeInMilliseconds 中添加 Thread.CurrentThread.ManagedThreadId”是什么意思。比如说,对于 ManagedThreadId+CurrentTimeInMilliseconds:

1+2 = 3
2+1 = 3

那么你到底是在创造一个“独特”的价值吗?如果你每毫秒调用不止一次会发生什么?如果您需要每个进程的每个调用都独一无二的东西,我会做类似的事情:

using System.Threading;

static class Foo
{
    static long i;
    public static long GetUnique() { return Interlocked.Increment(ref i); }
}

如果您想在多个进程中生成唯一编号,Guid这是可行的方法。

于 2013-10-22T06:57:54.923 回答