加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在C#中获取线程ID

发布时间:2020-12-15 08:48:28 所属栏目:百科 来源:网络整理
导读:public bool HasItemsFromPropertySet(InfoItemPropertySet propertySet,CompositeInfoItem itemRemoved) { var itemAndSubItems = new InfoItemCollection(); if (itemRemoved != null) { itemAndSubItems.Add(itemRemoved); //foreach (InfoItem item in i
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 …

解决方法

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

如果你想获得原生线程ID(不是你通常想做的事情),你可以调用方法AppDomain.GetCurrentThreadId()(已废弃“因为当托管线程在光纤上运行时它不提供稳定的ID”但据我所知托管线程仅在SQL Server内的光纤上运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读