正在线程编程,是否只要把写操作放入synchronized块中,读操作不必放入?

解决方案 »

  1.   

    答:
    1)若线程A("写操作"线程)与线程B(“读操作”线程)可能会并发运行的话,则都必须放在synchronized代码块中。这是:“写-读”冲突。
    2)若只有线程A("读操作"线程)与线程B(“读操作”线程)可能会并发运行的话,则不必须放在synchronized代码块中。这是:“读-读”不冲突(前提:读操作不能修改任何临界区资源
    3)最后一个是“写-写”冲突。必须要放在synchronized代码块中。
    以上答案仅供你参考。