SDL_net 2.0 多线程
SDL_net 2.0 multithreading
在另一个线程(主线程除外)上调用 SDL_net 函数是否安全?有什么规定吗?当我搜索它时,我找不到任何关于它的信息。
是的,很安全。事实上,有些操作应该在单独的线程中完成。
我查看了 SDL_net 的 TCP 部分。特别是,任何对
的调用
- SDLNet_ResolveHost,如果它必须通过远程主机解析 DNS 查询
- SDLNet_TCP_Open 连接到远程主机并且不只是建立一个监听套接字
- SDLNet_TCP_Recv 当且仅当 TCP 流上没有任何未决字节
- SDLNet_TCP_Send
如果您想避免阻塞渲染线程、错过计时和 windows 不再响应,则必须在单独的线程上完成。
但是,应该避免两个或多个线程同时干扰同一个套接字。确保线程彼此正确通信以避免并发引起的错误。使用互斥锁、锁等来确保这一点。
在另一个线程(主线程除外)上调用 SDL_net 函数是否安全?有什么规定吗?当我搜索它时,我找不到任何关于它的信息。
是的,很安全。事实上,有些操作应该在单独的线程中完成。
我查看了 SDL_net 的 TCP 部分。特别是,任何对
的调用- SDLNet_ResolveHost,如果它必须通过远程主机解析 DNS 查询
- SDLNet_TCP_Open 连接到远程主机并且不只是建立一个监听套接字
- SDLNet_TCP_Recv 当且仅当 TCP 流上没有任何未决字节
- SDLNet_TCP_Send
如果您想避免阻塞渲染线程、错过计时和 windows 不再响应,则必须在单独的线程上完成。
但是,应该避免两个或多个线程同时干扰同一个套接字。确保线程彼此正确通信以避免并发引起的错误。使用互斥锁、锁等来确保这一点。