如何确保线程安全?

如何确保线程安全?
在 Java 中可以有很多方法来保证线程安全——同步,使用原子类(atomic
concurrent classes),实现并发锁,使用 volatile 关键字,使用不变类和线程安
全类。
73、同步方法和同步块,哪个是更好的选择?
同步块是更好的选择,因为它不会锁住整个对象(当然你也可以让它锁住整个对
象)。同步方法会锁住整个对象,哪怕这个类中有多个不相关联的同步块,这通
常会导致他们停止执行并需要等待获得这个对象上的锁。
同步块更要符合开放调用的原则,只在需要锁住的代码块锁住相应的对象,这样
从侧面来说也可以避免死锁。
74、如何创建守护线程?
使用 Thread 类的 setDaemon(true)方法可以将线程设置为守护线程,需要注意
的是,需要在调用 start()方法前调用这个方法,否则会抛出
IllegalThreadStateException 异常。

你可能感兴趣的:(线程安全)