谁能帮我解释一下这一小段java代码

2025-01-05 06:02:28
推荐回答(3个)
回答1:

synchronized在JAVA里是加锁,这里的作用是保证多线程安全,比如一个线程在使用它的时候就会给compile()所占用的资源加上锁,第二线程在访问它的时候就不能访问。当compile()执行完成后,会将锁打开

回答2:

synchronized(this) {...} 以当前实例为同步锁的同步代码段。

任何调用此实例的 matcher() 方法的线程在执行到些代码段时,都要同步(同时只能有一个线程在执行同步代码段。
例:
假如此方法为类 CLASSA 的成员方法,
CLASSA a=new CLASSA();
那么如果同时有多个线程调用 a.matcher(...) 方法,则只能有一个线程进入方法中的同步代码段,其它的会等待。

回答3:

有多个线程调用这个方法的时候只能一个一个进来 没学过线程肯定不懂的啦