10
public bool HasItemsFromPropertySet(InfoItemPropertySet propertySet, CompositeInfoItem itemRemoved)
    {
        var itemAndSubItems = new InfoItemCollection();
        if (itemRemoved != null)
        {
            itemAndSubItems.Add(itemRemoved);
            //foreach (InfoItem item in itemRemoved.AllDescendants)
            itemAndSubItems.AddRange(itemRemoved.AllDescendants);
        }
        return AllItems.AsParallel().Any(item => item.PropertySet == propertySet && !itemAndSubItems.Contains(item));
    }


上面在我的代码中我使用 AsParallel().Any() 如何获取由该 AsParellel.Any() 生成的线程的线程 ID...

4

1 回答 1

16

Thread.CurrentThread.ManagedThreadId获取当前执行线程的托管线程 ID。

如果您想获取本机线程 ID(不是您通常想要做的事情),您可以调用该方法AppDomain.GetCurrentThreadId()(已过时“因为当托管线程在光纤上运行时它不提供稳定的 ID”但据我所知托管线程仅在 SQL Server 内部的纤程上运行)。

于 2012-04-19T09:18:59.083 回答