ReentrantLock 및 Synchronization.At의 TPS를 측정하고 싶습니다. 같은 시간 스레드의 수가 계속 진행됨에 따라 변경 내용을 보여주기 위해 차트를 그려야합니다. The ExampleReentrantLock 및 동기화의 TPS를 비교하는 방법
는 내가 그것을 달성 할 수있는 도구 나 예를 들어 있나요 :
그러나 지금, 나는 좋았지 결과는이 그림처럼 완료하는 데 만족 도구를 찾을 수없는 이유는 무엇입니까?
감사합니다. 코드를 작성했지만 우아하게 데이터를 수집하는 데 좋지 않습니다.
private ReentrantLock lock = new ReentrantLock();
public synchronized void testSynchronized() {
sleepRandomTime();
}
public void testReentrantLock() {
lock.lock();
try {
sleepRandomTime();
} finally {
lock.unlock();
}
}
private void sleepRandomTime() {
long sleepTime = (int) (Math.random() * 100);
try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
public class ThreadTest1 extends Thread {
@Override
public void run() {
testSynchronized();
}
}
public class ThreadTest2 extends Thread {
@Override
public void run() {
testReentrantLock();
}
}
지금까지 해보신 것은 무엇입니까? 처음에는 측정하려는 작업을 수행 할 프로그램을 작성한 다음 결과를 표시 할 수 있습니다. 차트를 그리는 것은 스스로의 의문을 가질만한 가치가 있습니다. – jokka
이제 일부 코드를 추가했습니다. 아직 TPS를 보여주기위한 데이터를 수집하는 데 효과적인 방법을 찾을 수 없습니다. 감사합니다. – StackNow