gpt4 book ai didi

c# - 如何制作具有连续 ID 的线程

转载 作者:太空狗 更新时间:2023-10-29 22:59:49 29 4
gpt4 key购买 nike

我需要在创建线程时为某些线程分配连续的 ID,而不管起始 ID 是什么(例如 11、12、13... 或 9、10、11)

这就是我所做的,在这里我创建了 4 个线程并调用 My_function()

for ( byte i = 0 ; i < 4 ; i++ )
{
myThreadArray[i] = new Thread(new ParameterizedThreadStart(My_function));
myThreadArray[i].Start(i);
}

它似乎有效,但我能保证我总是为它们分配连续的 ID 吗

最佳答案

由于您使用数组来包含线程,因此该数组的每个按顺序分配的元素都将具有一个顺序索引。

但是,如果您需要将线程 ID 映射到 MyThreadArray 中的元素,因为你无法控制线程 ID s 创建线程时(仅线程 Name ),您可以使用 Dictionary<int, int>映射实际线程 ID s 到 MyThreadArray索引

for ( byte i = 0 ; i < 4 ; i++ )
{
myThreadArray[i] = new Thread(new ParameterizedThreadStart(My_function));
myThreadArray[i].Start(i);
MyThreadDictionary.Add(MyThreadArray[i].ManagedThreadId(), i)
}

并通过以下方式访问它:

logSet[MyThreadDictionary(System.Threading.Thread.CurrentThread.ManagedThreadId)]

或使用 Array.FindIndex检索 MyThreadArray 的索引包含与您要匹配的线程 ID 相匹配的线程的元素,方式大致相同。

关于c# - 如何制作具有连续 ID 的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18690105/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com