如何获取 Mysql INSERT 来发出 pthread 互斥信号

发布于 2024-12-09 12:44:11 字数 150 浏览 0 评论 0原文

我有一个在 Linux 上运行的 C 代码应用程序,它的 pthread 被互斥体阻塞。 我希望每当在 Mysql 数据库中执行 INSERT 语句时就解除对该线程的阻塞。然后该线程将从数据库中读取一些数据。

那么我如何让数据库向互斥体发出信号呢?

谢谢

I have a C code application running on Linux, which has a pthread blocked on a Mutex.
I wish to unblock this thread whenever an INSERT statement is made in a MysQL database. The thread will then go and read some data from the database.

So how do i get the Database to signal the mutex?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

杀お生予夺 2024-12-16 12:44:11

您对具体细节很模糊,但假设一个(或多个)线程正在执行插入操作,并且需要通知一个(或多个)线程您可能想要使用条件变量。基本上,读取线程调用pthread_cond_wait并阻塞,直到插入线程成功写入数据库,然后调用pthread_cond_signal来唤醒阻塞的读取线程。

如果其他程序或机制正在执行插入操作,则此答案不适用。

You are vague on the specifics but assuming one (or more) threads are doing the insert and one (or more) threads need to be notified you probably want to use condition variables. Basically the read threads call pthread_cond_wait and block until the insert threads successfully write the database and then call pthread_cond_signal to awaken the blocked read threads.

If some other program or mechanism is doing the inserts then this answer does not apply.

静水深流 2024-12-16 12:44:11

您可以为该 INSERT 创建一个触发器,这将使您有机会运行 UDF(用户定义函数)。函数可以运行外部代码,外部代码可以使用pthread_cond_signal唤醒您的程序。我认为不建议写这样的东西,但这是可能的。

You can create a trigger for that INSERT, which will give you a chance to run UDF (User-Defined Function). Function can run external code, which can wake up your program using pthread_cond_signal. I don't think it's recommended to write something like that, but it's possible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文