-1
我想測量ReentrantLock和Synchronization的TPS。同一時間我想畫一個圖表來顯示線程數量隨着線程的變化而變化。如何比較ReentrantLock和同步的TPS
,但現在,我找不到一個滿意的工具來完成後援結果是這樣的畫面: The Example
是否有任何工具或示例,可以幫助我實現嗎?
謝謝! 我寫了一些代碼,但我不擅長收集數據優雅。
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