簡體   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