我写了一个名为T的线程类。
我的目的是确保同一时间只有一个线程对象在运行。
因此,当调用线程对象时,它会检查一个名为BUSY的布尔标志。
我的问题是,和
我认为,如果使用“static”,所有对象都只会检查一个BUSY布尔变量,这样可以确保只有一个线程对象在运行。
我的目的是确保同一时间只有一个线程对象在运行。
因此,当调用线程对象时,它会检查一个名为BUSY的布尔标志。
我的问题是,和
之间有什么不同?
private static AtomicBoolean BUSY = new AtomicBoolean(false);
并且
private static boolean BUSY = false;
我认为,如果使用“static”,所有对象都只会检查一个BUSY布尔变量,这样可以确保只有一个线程对象在运行。
finally
中执行BUSY.set(false)
,以确保它真正被执行。 - Harald