美文网首页
说说多线程同步?

说说多线程同步?

作者: Joseph_L | 来源:发表于2019-12-02 16:33 被阅读0次

    所谓线程间的同步实质是保证线程中共享变量的数据同步。

    1. volatile 关键字

      在get和set的场景下是可以的,由于get和set的时候都加了读写内存屏障,在数据可见性上保证数据同步。但是对于++这种非原子性操作,数据会出现不同步;

    2. synchronized

      对代码块或方法加锁,结合 wait,notify 调度保证数据同步

    3. reentrantLock

      结合 Condition 条件设置,在线程调度上保障数据同步

    4. CountDownLatch简化版的条件锁

    5. cas=compare and swap(set)

      在保证操作原子性上,确保数据同步

    相关文章

      网友评论

          本文标题:说说多线程同步?

          本文链接:https://www.haomeiwen.com/subject/fnjfgctx.html