关于java中同步和异步的,2答案疑问?感觉完全说得不是一个事。

2024年11月29日 17:37
有2个网友回答
网友(1):

答案1 这个说的不是同步。至少没有那个感觉 或者御液说 不是很恰当
反而倒是在说线程加锁之镇返物类的东西。
答案2 才有同步和异步的意思。
更简单点的表述 就世明是:
同步:要做完这个才做下一个
异步:一边做这个一边做那个

网友(2):

这个同步加到哪个对象上了,如果同步的是方法那么就是答案1,你用该类的实例后,其他的线程是不能访问的该类的同步方法,如果是同步的是对象那么就是答案2,你用该类的实例后,别的线程也可以拥有该类的实例其他方法,但是在你没有释放同迹蔽步的对象前,另一个线程可以访问其他对象或者方法,不能访问姿银州你同步的对象

Class a {
public synchronized void function(){//该同步为方法同步,锁的是类对象, //todo
}
}
Class b{
Object b = new Object();
public void function(){//为对象同步,只搏滑锁定该类的b对象
synchronized (b){
//todo
}
}
}