Я хочу измерить TPS ReentrantLock и Synchronization. В то же время я хочу нарисовать диаграмму, чтобы показать изменение, когда количество потоков продолжается.Как сравнить TPS ReentrantLock и синхронизацию
Но сейчас, я не могу найти удовлетворенных инструменты для завершения it.The результат нравится эта картина: 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