问题标签 [synchronized]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5947 浏览

objective-c - @synchronized 在静态方法中

@synchronized在 Objective-C 中,您可以使用构造将块声明为在某个对象上同步。它看起来像这样:

但是,我很好奇当你有一个静态方法(而不是)时到底self指的是什么。我尝试查看 Apple 文档,他们暗示它没问题,但并没有真正解释它。我知道它有效,我只是好奇它是什么意思。+-

0 投票
4 回答
533 浏览

java - 在线程中使用同步

对以下内容的理解是什么?
我已经在 SO 浏览过这篇文章,但仍然无法组装它。

代码1:

代码2:

任何教程,或一些解释同步的链接,就像他们向孩子解释一样?

0 投票
4 回答
3166 浏览

java - Java的线程同步

我的应用程序中有一个自制的网络服务器。此 Web 服务器为进入套接字的每个请求生成一个新线程以被接受。我希望网络服务器等到它刚刚创建的线程中的特定点被命中。

我已经浏览了该网站上的许多帖子和网络上的示例,但是在我告诉线程等待后无法让网络服务器继续进行。一个基本的代码示例会很棒。

同步关键字是解决此问题的正确方法吗?如果是这样,如何实现?我的应用程序的代码示例如下:

网络服务器

线程代码

更新 - 最终代码如下。每当我发送响应标头时都会调用(当然还将接口添加为单独的类和中的HttpRequest方法):resumeListener.resume()addResumeListener(ResumeListener r1)HttpRequest

网络服务器部分

0 投票
3 回答
1580 浏览

java - 在 BlockedQueue 上同步

我有一个正在审查的代码片段(使用FindBugs)。

}

当我在这段代码上运行 FindBugs 时,它抱怨 -

此方法对作为 java.util.concurrent 包(或其子类)中的类的实例的对象执行同步。这些类的实例有自己的并发控制机制,这些机制与关键字 synchronized 的使用不同且不兼容。

如果我注释掉同步的代码段synchronized(q){,它会抱怨 -

此方法调用 Object.notify() 或 Object.notifyAll() 而不明显持有对象上的锁。在不持有锁的情况下调用 notify() 或 notifyAll() 将导致抛出 IllegalMonitorStateException

我将如何实现此方法以使其通过 FindBugs 验证?在并发课程的情况下,上述实现是否适用于通知?

谢谢你。

0 投票
2 回答
2185 浏览

linux - 如何同步访问同一资源的两个进程?

我有两个进程访问相同的物理内存(GPIO 数据地址)。那么我怎样才能在这些应用程序之间进行同步呢?我知道我们有某种锁定机制,例如互斥量和信号量,那么哪种方法最快?

感谢您的帮助,

-纳米

0 投票
4 回答
254 浏览

java - Java中的同步?

我对线程安全编程很陌生,想知道是否有类似下面的内容,一旦编译并运行,这是否可以避免死锁?

0 投票
4 回答
4470 浏览

java - 变量的同步和本地副本

我正在查看一些具有以下习语的遗留代码:

我从 Intelli-J 的代码检查中得到的警告是:

这是适当的同步吗?为什么?

0 投票
5 回答
25218 浏览

java - 为什么在 Java 中同步很昂贵?

我对 Java 真的很陌生,我读到这synchronized在 Java 中“非常昂贵”。我只想知道什么东西贵,怎么贵?

谢谢。

0 投票
4 回答
424 浏览

c++ - 在 C++ 中,类 java 对象监视器的最有效实现是什么?

在 Java 中,每个对象都有一个同步监视器。所以我猜这个实现在内存使用方面非常简洁,希望也很快。

将其移植到 C++ 时,最好的实现是什么。我认为一定有比“pthread_mutex_init”更好的东西,还是java中的对象开销真的这么高?

编辑:我刚刚检查了 Linux i386 上的 pthread_mutex_t 是 24 字节大。如果我必须为每个对象保留这个空间,那将是巨大的。

0 投票
5 回答
18083 浏览

java - 原始类型的易失性或同步?

在 Java 中,如果变量的大小小于或等于 32 位,则赋值是原子的,但如果大于 32 位则不是。

在双重或长期分配的情况下,使用什么(易失性/同步)更有效?

像,

同步不适用于原始参数。在这种情况下如何使用同步?当然我不想锁定我的班级,所以this不应该使用。