for(int ii = 0; ii < 3; ii++)
executor.execute(new someClass);
对比
someFunction();
someFunction();
someFunction();
在哪里
public static void someFunction(){
synchronized(lock){
for(int ii = 0; ii < long.MAX_VALUE; ii++);
}
}
private class someClass implements Runnable {
public void run() {
someFunction(); //someFunction() is a synchronized function
}
}
抱歉,这可能是一个相当模糊的问题。我有一个同步的 someFunction(),我想依次调用 3 次,另一次使用 3 个线程,每个线程运行 someFunction() 的任务。由于它是同步的,一次只能访问 1 个线程,因此 3 个线程与 1 个线程的速度差异几乎相同。我也不允许修改或不同步 someFunction()。我想知道是否有任何方法可以从我使用线程的方式加速多线程方式?也许通过线程如何排队或其他什么?谢谢你的帮助。