我正在使用同步线程,其中我有三个synchronized方法,每个方法将由单个线程访问(当前程序中共有3个线程)
在我们的程序中,我们调用一个syn方法调用另一个同步方法,下面是示例代码,它受到实际应用的启发:
public class ThreadTest {
public static synchronized void suncMessage() {
System.out.print("1");
}
public static synchronized void suncMessage2() {
suncMessage();
System.out.print("2");
}
public static synchronized void suncMessage3(String s) {
System.out.print("3m" + s);
}
public static void main(String... at) throws InterruptedException {
Thread t1 = new Thread() {
public void run() {
for (int i = 0; i <= 2; i++) {
suncMessage();
}
}
};
Thread t2 = new Thread() {
public void run() {
for (int i = 0; i <= 2; i++) {
suncMessage2();
}
}
};
Thread t3 = new Thread() {
public void run() {
for (int i = 0; i <= 2; i++) {
suncMessage3("3");
}
}
};
t1.start();
t2.start();
t3.start();
}
}
所以我的问题是,调用一个同步的影响是什么。来自另一个同步的方法。??是好的做法以及它将如何影响计划的复杂性?
答案 0 :(得分:1)
不错的问题,但是当你在处理这种类型的场景时你必须努力并且性能可能会有效。因为同步比普通方法慢约50 时间。