Rec*_*awo 6 c# parallel-extensions task-parallel-library
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));
}
Run Code Online (Sandbox Code Playgroud)
在我的代码上面我使用AsParallel().Any()如何获得由AsParellel.Any()生成的线程的线程ID ...
Mar*_*age 11
Thread.CurrentThread.ManagedThreadId 获取当前正在执行的线程的托管线程ID.
如果你想获得本机线程ID(而不是你通常想做的事情),你可以调用该方法AppDomain.GetCurrentThreadId()(已废弃"因为当托管线程在光纤上运行时它不提供稳定的Id"但据我所知管理线程仅在SQL Server内的光纤上运行.