A Q S

2018-07-18  本文已影响0人  司徒伯明

整理给自己笔记

LInk: https://mp.weixin.qq.com/s/tMsI2aNnmHJlDfKUorhrVA

1.多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?

2.JAVA的是否了了解,它是干嘛的?

3.除了synchronized关键字之外,你是怎么来保障线程安全的?
    除了用于线程同步,确保线程安全之外,synchronized还可以确保线程间的可见性和有序性.从可见性角度上讲,synchronized可以完全替代volatile的功能,只是使用上没有那么方便,就有序性而言,由于synchronized限制每一次只能有一个线程可以访问同步快,.因此无论同步块内代码如何被乱序执行,只要确保串行语义一致,那么执行结果总是一样的.而其他访问线程.又必须在获得锁后方能进入代码块读取数据,因此,它们看到的最终结果并不取决于代码的执行过程,从而有序性问题自然得到了解决,换言之,被synchronized限制了多个线程是串行执行的.

上一篇 下一篇

猜你喜欢

热点阅读