Java中如何保证线程安全?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Java中如何保证线程安全?

游客pklijor6gytpx 2019-11-11 14:28:55 1048

如何保证线程安全?

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击链接欢迎加入感兴趣的技术领域群。

安全 Java 开发者
分享到
取消 提交回答
全部回答(4)
  • 苍霞学子
    2020-04-30 11:29:45

    在Java语言里面,不可变(Immutable)的对象一定是线程安全的,无论是对象的方法实现还是方法的调用者,都不需要再进行任何的线程安全保障措施。

    0 0
  • carson夏
    2019-11-12 12:02:31

    单体服务线程安全可使用Synchronized和ReentrantLock锁住相关代码,锁对象或是块必须是多线程共享的。

    unsafe提供的CAS或是手动定义的乐观锁在并发较小但是有并发可能的情况下可以使用。

    确保共享变量和对象的访问是串行的,或整体操作是原子的(例如不并发使用SimpleDataFormat);并发的数据修改要选择使用线程安全的静态类,如JUC包下的ConsurrentHashMap等。

    0 0
  • 有头发的程序猿
    2019-11-12 10:01:40

    Java中可以使用synchronized关键保证线程安全,也可以使用jdk提供的Lock锁,或者使用cas乐观锁来实现线程安全

    0 0
  • 游客pklijor6gytpx
    2019-11-11 14:29:49

    使用synchronized和Lock

    0 0
添加回答
+ 订阅

云安全开发者的大本营

推荐文章
相似问题