安卓面试题多线程 81-85

81. 共享变量在多线程下如何保证线程安全?
因为多线程是交替执⾏,每个线程操作共享变量时可能会导致数据不⼀致,要确保线程
安全,需要在访问共享变量时添加同步机制。当然,如果这个变量本⾝是线程安全的,⽐如AtomicLong,那么多线程访问也是安全
82. Java中 是否共享变量都使⽤类似AtomicLong原⼦安全类,多线程访问就是安全的?
这个不确定,因为⽆法保证多个变量同时操作,⼀个原⼦变量可以保证⾃⼰的安全性,但是同时操作多个有逻辑依赖原⼦的变量,仍可能带来线程安全问题。单个安全不代表组合也安
全。
83. 解释Final修饰的不可变对象?
由关键字final修饰的对象是不可变的,不能被重新赋值,但是final仍可以修饰可变对象的引⽤,例如集合:final修饰的集合本⾝引⽤地址不能改变,但是集合内的数据还是可以修改的。不可变对象会减少加锁或保

你可能感兴趣的:(Android面试题,java,开发语言,Android,面试,面试题,多线程)