问题标签 [notify]

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 投票
7 回答
16295 浏览

java - Java 线程:等待和通知方法

我有一个调用该wait方法的线程,并且只能在notify从其他类调用该方法时被唤醒:

在上面的代码中,如果中的synchronizedmain,如果ThreadA没有先执行,而是另一个同步块执行并完成完成,然后ThreadA执行它的synchronized块并调用wait,会发生什么以及如何再次通知它?

0 投票
1 回答
5071 浏览

java - 如何修复 FindBugs 的 Naked 通知警告?

我已经裸体通知 FindBugs 的警告。以下是我的代码。

“this”是“公共类控制器扩展线程”。如何修复警告?我对此一无所知。

提前致谢。

0 投票
1 回答
1674 浏览

android - Android:在 BaseAdapter 中调用 notifyDataSetChanged

我现在正在android中调试一些开源电子邮件客户端,但我对消息状态(已读和未读)有疑问。每当客户端收到新消息并检查邮件时,所有已读消息都会再次变为未读。我有一个扩展 BaseAdapter 的自定义类。我的部分跟踪是我在 onResume 中调用了 notifyDataSetChanged。我的问题是,我怎么知道 notifyDataSetChanged 真的改变了视图。我将日志放入 bindView 和 getView 以了解它是否真的通过了,一旦我调用 notifyDataSetChanged 但日志没有显示。这是否意味着它没有调用适配器来设置新视图?

0 投票
1 回答
3342 浏览

php - PostgreSQL LISTEN/NOTIFY 不工作

这是基本设置:

  • PHP 脚本写入数据库中的表,然后发出NOTIFY job_added. 然后它开始通过发出LISTEN job_complete

  • 一个守护进程(用 C 语言编写)已经发出 aLISTEN jod_added并因此唤醒并处理该表。

  • 守护进程在调用之前处理表并将结果写入结果表NOTIFY job_complete

  • 然后 PHP 脚本唤醒并从结果表中检索结果。

除了最后一步之外,其他所有步骤都在工作。守护进程使用 libpq,NOTIFY一旦将结果添加到结果表中,我已经检查了守护进程发出的成功。

所以我认为问题出在PHP脚本上。这是相关的代码:

所以我们添加到作业表中,发出一个LISTEN并循环 30 秒,直到我们收到我们的工作完成的通知。

问题是它pg_get_notify()永远不会拿起NOTIFY守护进程发出的。请注意,NOTIFY守护进程发出的消息发生在LISTENphp 脚本之后,我检查了。

我在做什么是完全错误的吗?顺便说一句,我很清楚 query() 不是内置函数,它是为了简洁而添加的。

谢谢

0 投票
1 回答
2021 浏览

java - 使用 ThreadPoolExecutor 进行线程同步

当我创建主(父)线程女巫执行其他几个线程时,我正在尝试实现一些逻辑。然后它等待子线程创建的某些条件。满足条件后,父亲会执行更多的子线程。当我使用等待/通知时出现 java.lang.IllegalMonitorStateException 异常的问题。这是代码:

}

当我评论等待和通知行时,我有以下输出:
主线程
主线程等待
主线程通知
子线程1
子线程2
子线程1完成
子线程2完成
主线程完成

0 投票
1 回答
136 浏览

auto-update - 不断更新数据算法

网站上的信息被整齐地列出,并且每隔一段时间(不是按照设定的时间表)更新新信息。我想编写一个快速脚本,它会自动让我知道何时更新了新内容,而不是让我知道每 x 数量的房子/分钟。

我最初的想法是让脚本提取我正在寻找的所有信息并将其存储在一个列表中,然后在下一次扫描时创建一个新列表并删除所有重复项,这些重复项会让我知道新信息是什么。

如果您知道处理此类事情的有效方法并且可以引导我朝着正确的方向前进,我们将不胜感激。

我并不是真的在寻找源代码,只是在寻找如何去做,我相信在一些有效的方法指导后我可以把它放在一起。

0 投票
3 回答
772 浏览

java - 使用 .wait 和 .notify 进行对象池化

我正在尝试在 java 中创建一个池对象的类。该类开始创建所需的最小数量的对象,当请求开始时,每个线程检查是否有可用的对象,是否可以创建它,因为尚未达到最大值,否则它必须等待得到一个。

这个想法是线程需要同步以获取/创建引擎,但它们可以并行处理(ProcessWithEngine方法)。处理可能需要几分钟,显然它正在按我的意愿工作。

问题是,有时.notify()被调用并从 释放线程时.wait(),队列有 0 个项目,这应该是不可能的,因为就在 之前.notify(),添加了一个项目。

可能是什么问题呢?

代码是这样的:

我已经解决了这个问题:

但基本上这意味着一个线程正在失去它的轮次,这可能意味着稍后会超时。

0 投票
2 回答
135 浏览

java - 如何让线程在完成设置后告诉启动它的方法?

我有一个启动线程的方法,并且我希望该方法阻塞,直到线程完成其设置阶段,否则将面临竞争条件。

我知道我想使用等待通知,但我不知道如何拥有监视器等等。

0 投票
3 回答
2668 浏览

android - 如何在 SMS 应用程序中查看从我的应用程序中发送的消息?

我刚刚创建了一个很酷的与 SMS 一起使用的应用程序。您只需向您的手机发送一些短信,它就会回复位置和一些方便的东西。对我的炸薯条很有用,我只是告诉他们给我发一条带有“WhereIs”的短信,我会自动回复你我的位置

对于响应,我使用:

这很好。

不幸的是,所有发送的短信都没有出现在我的短信应用程序中,所以我不知道短信已经发送。

我真的很想知道问我的人收到了什么作为答案。

因此,要创建一个正确的问题:

有没有办法“告诉”短信应用程序我在我的应用程序中发送了一些短信?

非常感谢您的任何回答。

0 投票
0 回答
3365 浏览

qt - QCoreApplication::notifyInternal 分段错误

您好,我正在用 C++ 开发一个共享库,并且正在使用 QT 接口对其进行测试。一切似乎都很好,但突然应用程序崩溃并给我以下核心转储:

程序以信号 11 终止,分段错误。0 0x00401b26 在来自 /usr/lib/libQtCore.so.4 的 QCoreApplication::notifyInternal(QObject*, QEvent*) ()

(gdb) BT

0 0x00401b26 在来自 /usr/lib/libQtCore.so.4 的 QCoreApplication::notifyInternal(QObject*, QEvent*) ()

1 0x0043093a 在?? () 来自 /usr/lib/libQtCore.so.4

2 0x009d7855 在来自 /lib/libglib-2.0.so.0 的 g_main_context_dispatch ()

3 0x009db668 在?? () 来自 /lib/libglib-2.0.so.0

4 0x009db848 in g_main_context_iteration () from /lib/libglib-2.0.so.0

5 0x00430565 在来自 /usr/lib/libQtCore.so.4 的 QEventDispatcherGlib::processEvents(QFlags) ()

6 0x05cedbe5 在?? () 来自 /usr/lib/libQtGui.so.4

7 0x00400609 在来自 /usr/lib/libQtCore.so.4 的 QEventLoop::processEvents(QFlags) ()

8 0x00400a8a 在来自 /usr/lib/libQtCore.so.4 的 QEventLoop::exec(QFlags) ()

9 0x0040500f 在来自 /usr/lib/libQtCore.so.4 的 QCoreApplication::exec() ()

10 0x05c2ae07 在来自 /usr/lib/libQtGui.so.4 的 QApplication::exec() ()

11 0x0804cd72 在 main ()

我在安装在 SD 卡中的 ubuntu 10.10 中运行,我使用的是 QT 4.7.0。在 Windows 中,应用程序可以正常工作,在 Linux 中也是如此,直到应用程序随机崩溃。我不知道是否有 ubuntu 的 QT 错误或类似的东西,因为我在互联网上阅读过具有类似核心转储的应用程序。

谢谢!