对象级锁是线程安全的吗?

问题描述

我已经在对象级别实现了访问设备的锁定:

private static Object device_locker_ = new Object();

public Device getDevice() {
 synchronized (device_locker_) {
    return device_;
 }
}

在这种情况下,不同的线程是否可以使用 the device,通过 getDevice() 调用不同的方法?示例:

getDevice().getDeviceInfo()
getDevice().changePIN()
getDevice().doSomething()

所有线程都使用定义了 getDevice() 方法的类的一个实例。

这种情况下能保证只有一个线程可以和设备一起工作吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)