繁体   English   中英

Thread.CurrentThread.ManagedThreadId多处理器是否安全

[英]Is Thread.CurrentThread.ManagedThreadId multi-processor safe

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

说明:我要生成唯一编号。 我根据当前时间(即currentTmeinmillisecons)生成了唯一编号,但是两个线程在同一时间戳中访问了相同的函数,因此我想在该时间戳中添加唯一的内容。 因此,计划在CurrentTimeInMilliseconds中添加Thread.CurrentThread.ManagedThreadId

所以我可以在CurrentTimeInMilliseconds中添加Thread.CurrentThread.ManagedThreadId。

不清楚“在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM