【发布时间】:2010-10-06 17:39:01
【问题描述】:
我有一个线程执行以下操作:
- 初始化 SDL
- 存储指向 SDL_Surface 的指针
- 进入循环并等待任何鼠标事件并处理它们
在另一个线程中有一个执行以下操作的函数:
- 获取指向 SDL_Surface 的指针
- 执行 SDL_LockSurface
- 处理像素
- 是否有 SDL_UnlockSurface
- 在表面上调用 SDL_Flip
我在文档中读到,通常 SDL lib 函数调用都应该来自同一个线程。这是否包括直接更改 SDL_Surface?使用表面的锁定和解锁功能怎么样?我认为这些锁定和解锁对旨在用于多线程情况。
SDL_Flip 函数怎么样?如果这需要从初始化 SDL 的 SDL 线程调用,那么我可以简单地发出用户事件信号并在另一个线程中处理它。
【问题讨论】:
标签: c multithreading sdl