我是否可以在 pthread 创建的 threadFunction 中使用 CFRunloop 机制?
由于某种原因,我无法使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论