为什么休眠后会包证线程的原子性呢?

来源:3-4 synchronized实现可见性代码(下)

慕斯卡4106679

2015-11-12 10:05

如图.....

写回答 关注

1回答

  • 雲中菩提
    2015-12-07 21:00:19

    首先,你这休眠的是线程 main,并不会影响到synDemo读写线程的正常运行。而且就算你休眠的是synDemo的写线程,但只要它拿到了锁,那么读线程就会是堵塞状态,直到写线程释放了锁。

    最好还是先看看书或关于线程的博文,对同步,锁有所了解,然后再来看此视频。

    雲中菩提

    我去,刚明白你的疑惑在哪里。很简单啊,main线程休眠了1000毫秒,那么synDemo.newReadWriteThread(false).start()也被推迟了1000毫秒执行。但synDemo.new ReadWriteThread(true).start()仍在执行,1000毫秒足以让此线程执行完,避免了线程交叉执行,保证了线程的执行顺序。

    2015-12-07 21:12:33

    共 1 条回复 >

细说Java多线程之内存可见性

用两种方式实现内存可见性,代领大家深层次学习Java中的内存

55910 学习 · 74 问题

查看课程

相似问题