gpt4 book ai didi

multithreading - SDL 和 C++11 线程

转载 作者:行者123 更新时间:2023-12-03 12:54:14 29 4
gpt4 key购买 nike

我正在使用 SDL 作为库的 C++11 开发应用程序。我计划为我的应用程序添加多线程支持。在我的应用程序中使用 SDL_Thread 或 std::thread 有什么区别吗?

最佳答案

除非您使用的是 SDL API 的一部分,它特别需要 SDL 的线程句柄类型,否则最好使用 C++ 的 std::thread。 . API 更惯用(例如,允许您将参数转发到启动函数的构造函数)并且不将该代码与 SDL 提供的代码联系起来。

我提到句柄的原因是如果你真的需要传递 SDL_Thread * ,没有办法查询当前线程的句柄。授予 std::thread也不提供这个,但由于接口(interface)更丰富,使用起来更有意义。

编辑:这两个接口(interface)似乎都大量借鉴了 POSIX 线程,但有一个异常(exception)。 std::thread没有内置的取消功能。通常,您不想在没有任何清理的情况下杀死线程,但值得一提。

关于multithreading - SDL 和 C++11 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47766832/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com