【发布时间】:2010-11-15 18:01:08
【问题描述】:
我在多线程中面临与同步相关的问题。 我有一个共享库,应用程序使用它来构建应用程序。从图书馆 我创建了一个线程来监听请求的到来并对其进行处理,它是实时线程。从库中我调用了一个本质上是同步的 API,它将等待来自其他模块的响应。此 API 与其他模块有一些依赖关系,响应应该在第一个响应之后出现。但有时第二个响应是第一个响应,因此 API 失败,有时它工作正常。互斥锁 arpit 已应用。 谁能告诉我解决问题的方法应该是什么? 我希望我的问题很清楚。
编辑:它在 c + unix 上
【问题讨论】:
-
了解哪个 Unix 的哪个版本可能会有所帮助。这可能会决定哪些线程库可用。
-
您的问题不清楚。我猜您遇到的情况是 A 呼叫 B 并且 B 以不同于 A 期望的顺序回复答案?从 B 那里得到的答案是怎样的?它们是否通过 B 调用回调函数通过线程间消息队列、通过套接字?
-
是的,你很有礼貌。 B 得到了一些其他的答案,现在 A 正在等待答案中的排序。他们正在进入线程。
-
Suse10 是 Linux,而不是 Unix。内核是 2.4 还是 2.6?这两个版本的线程不同。
标签: c multithreading unix synchronization