gpt4 book ai didi

Java 互斥锁与 smp

转载 作者:行者123 更新时间:2023-12-02 08:31:47 25 4
gpt4 key购买 nike

我正在学习多线程编程;在练习互斥时,我注意到它似乎无法在我的双核笔记本电脑上正常工作。

互斥锁代码位于 http://pastebin.com/axGY5y3c

结果如下:

count value:t[0]1
count value:t[1]1
count value:t[2]2
count value:t[3]3
count value:t[4]4

结果表明,线程在开始时似乎会获得相同的 init 值。这看起来不正确。

我的代码有什么问题吗?或者是否有任何资源提供有关在 smp/dule-core/多个 cpu 上运行 java mutex 的示例?

感谢您的帮助。

最佳答案

我对互斥算法不是很熟悉,所以我不能帮助你严格地了解并发性。我确实这样做了,但是在您的代码中发现一行解释了为什么您会得到列出的值:

public class MyThread extends Thread{
// [...]
private static int count = 0;

当启动四个线程时,run() 会被调用四次,每次迭代都会递增 count

这段代码:

t[i].start();
int v = t[i].getCountValue();
System.out.println("count value:t["+i+"]"+v;

因此实际上是:

count++;
System.out.println("count value:t["+i+"]"+count);

关于Java 互斥锁与 smp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3182512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com