想象这样一种情况,其中多个线程可以在某个缓冲区上写入(对其大小没有限制)并且所有这些约束都适用:
- 在所有线程开始之前,缓冲区被初始化为零。
- 线程可以写入缓冲区,也可以不写入。
- 如果一个线程写入缓冲区,它会写入一定的字节串(我们称之为它
V
,V
不仅由零组成,而且对所有线程都是相同的)。 - 没有线程从缓冲区中读取。
- 一个线程在缓冲区上写入的事实,以及它在缓冲区上写入的内容,并不取决于其他线程是否已在缓冲区上写入的事实。
- 如果一个线程开始在缓冲区上写入,那么它将完全写入。
- 线程写入缓冲区而不遵循精确的字节顺序。
问题是:在所有线程都停止之后(如果它们开始写入缓冲区,这只会发生在它们已经完成写入缓冲区的情况下),我是否可以保证,在任何真实世界或至少合理的架构下,:
- 要么缓冲区包含全零,
- 或者缓冲区包含确切的内容
V
?
如果没有,是否有任何一致的论点表明V'
可以写入另一个字节字符串,称为它?V
如果是这样,和之间可能有什么区别V'
?为什么?