我是否可以在 pthread 创建的 threadFunction 中使用 CFRunloop 机制?

发布于 2025-01-07 05:34:17 字数 373 浏览 1 评论 0原文

由于某种原因,我无法使用 NSThread。但我认为两个线程之间使用 CFRunloopSource 的通信方式很方便。所以我想知道是否可以在pthread创建的线程上下文中获取当前的cfrunloop ref?

我在网上抓取并确实看到一些评论,即使使用 pthread,runloop ref 仍然可用。但我没有从文档中看到任何关于此的信息。所以想请教一下这里有相关经验的人。

此外,我可以通过以下方式共享从新线程检索到的 CFRunloopRef: 新线程和当前线程之间的 CFRetain(CFRunLoopGetCurrent()) ? 因为当我想在新创建的线程中触发runloop时需要ref 经过 CFRunLoopWakeUp(参考)

谢谢,

杰克塞拉夫

For some reason, I cannot use NSThread. But I thing the communication way using the CFRunloopSource between 2 threads is convient. So I wonder that if I can obtain the current cfrunloop ref within the thread context created by pthread?

I grabbed online and indeed saw some comments that even using pthread the runloop ref was still available. But I didn't see anything about this from the documentation. So I would like to ask someone here who has the related experience.

Furthermore, can I share the CFRunloopRef retrieved from the new thread by:
CFRetain(CFRunLoopGetCurrent()) between the new thread and my current thread?
Because the ref is needed when I want to trigger the runloop in the newly-created thread
by
CFRunLoopWakeUp(ref)

Thanks,

Jack Seraph

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文