gpt4 book ai didi

java - 我如何测量有多少线程正在执行一段代码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:24:36 25 4
gpt4 key购买 nike

我正在尝试测量有多少线程同时执行一段代码。目前我正在(ab)为此使用信号量,有没有更好的方法?

final int MAX_THREADS = Integer.MAX_VALUE;

Semaphore s = new Semaphore(MAX_THREADS);

s.acquire(); // start of section

// do some computations

// track how many threads are running the section
trackThreads( (MAX_THREADS - s.availablePermits()) );

s.release(); // end of section

最佳答案

使用 AtomicInteger而不是 Semaphore

类似的东西:

AtomicInteger count = new AtomicInteger();

count.getAndIncrement();

// do some computations

// track how many threads are running the section
trackThreads( count.get() );

count.getAndDecrement(); // end of section

关于java - 我如何测量有多少线程正在执行一段代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47795282/

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