gpt4 book ai didi

c# - 我的方法中有多少个线程?

转载 作者:太空狗 更新时间:2023-10-29 19:58:43 24 4
gpt4 key购买 nike

我一直在网上搜索这个答案,但找不到任何真正对我有用的东西。

我有一个正在运行的程序,我想计算在给定时间我的方法中有多少线程。

我的 Main() 函数中有代码:

Parallel.Invoke(MyMethod,MyMethod,MyMethod,MyMethod);


private static void MyMethod()
{
//how many threads are waiting here??? <--- this is what I am after
lock (myObj)
{
//one thread at a time please
}
}

任何人都可以在这里阐明吗??

最佳答案

无法直接查询给定函数中有多少个线程。唯一的办法就是手动跟踪

private static int s_threadCount;

private static void MyMethod() {
Interlocked.Increment(ref s_threadCount);
try {
...
} finally {
Interlocked.Decrement(ref s_threadCount);
}
}

注意:如果可以递归进入此方法,则不会准确计算线程数,而是计算线程数 + 递归进入函数的次数。

关于c# - 我的方法中有多少个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944191/

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