![]() |
1
2
好。。。这段代码的结果将是假的,而您期望的是真的。
|
![]() |
2
15
根据定义,除非您控制线程调度程序(您没有),否则无法确定地测试竞争条件。您可以做的最接近的事情是在
顺便说一句,这些都不构成“证据”。 Formal Verification 即使对于相对少量的代码,也很难做到。 |
![]() |
3
13
你能强迫吗
让天真的双重检查锁定失败会更难,记住…(即使没有说明是不安全的
|
![]() |
4
5
这不是使用代码,但这里有一个例子说明了我将如何证明它。我忘记了这样的执行图的标准格式,但其含义应该足够明显。
|
![]() |
5
3
由于这是Java,所以您可以使用
thread-weaver
用于向代码中注入暂停或中断并控制多个执行线程的库。这样你可以慢慢来
|
![]() |
6
0
在构造函数中进行非常长的计算:
您可能希望将终止条件减少到
|
![]() |
7
0
您可以使用调试器轻松地证明这一点。
这样做的好处是,你实际上不需要一个昂贵的对象,任何对象实际上都会产生相同的结果。您只需使用调试器来计划特定代码行的执行,从而创建确定性结果。 |
![]() |
8
-1
嗯,这不是线程安全的。 螺纹安全性的检验是随机的,但相当简单:
|
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 7 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 8 月前 |