如果我访问同步方法或同步块内的对象,那么被访问的元素中的所有对象都是否同步?
想象一下,有一个对象队列具有同步的add()和take()方法,接受并发出复杂对象Thing.事情有很多列表与其他不同的对象.
现在图像线程在创建Thing之前,将一些现有对象放入Thing中,修改其中的一些对象等等. Before线程添加了Thing to Queue.稍后线程从队列中夺取事情.
问题:将Thing及其所有子项/子对象处于与离开之前相同的状态?即使线程之后也许在这些子元素之一稍早工作?因为我为线程映像处理器可能在该子元素上仍然可能有一些缓存信息(该子对象的地址仍然相同).所有这些缓存的东西只能通过以同步方式访问父对象Thing而无效?
请不要给出使用并发库等答案.我想了解发生了什么.