作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 Mac OS 10.6 构建一个将使用 OpenGL 的应用程序。我想将渲染转移到辅助调度队列(而不是主线程)。
据我了解,我需要使用线程本地 OpenGL 上下文来完成图形工作。我的计划是在第一个 block 上获取对它的引用,然后一遍又一遍地重用同一实例。
但是,调度队列和线程并不相同,Xcode 4 的调试器显示一个队列可以使用多个线程。因此,我不确定我所做的是否安全(尽管我相信只有并行队列才能使用多个线程)。
是否可以保证发送到串行队列的所有 block 都发送到同一线程?我应该获取当前的 OpenGL 上下文并将其分配给每帧的 NSOpenGLView
吗?
最佳答案
Queues are not bound to any specific thread of execution
无法保证发送到串行队列的所有 block 都发送到同一线程。您需要使用主队列进行渲染,或者使用 NSThread 或 pthread 作为主队列在具有 GL 上下文的线程上实现排队 block 。
关于multithreading - 我可以假设计划在串行队列上运行的 block 将全部在同一线程上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5446413/
有很多可用的单行 HTTP 服务器,例如 python python -m SimpleHTTPServer 8000 ruby ruby -run -ehttpd . -p8000 等等 是否有任何
我是一名优秀的程序员,十分优秀!