我正在使用SDL作为库来开发一个C++11应用程序。我计划为我的应用程序添加多线程支持。在我的应用程序中,使用SDL_Thread或std::thread是否有区别?
我正在使用SDL作为库来开发一个C++11应用程序。我计划为我的应用程序添加多线程支持。在我的应用程序中,使用SDL_Thread或std::thread是否有区别?
std::thread
。该API更符合惯用法(例如,构造函数允许您将参数转发给启动函数),并且不会将代码与SDL提供的内容绑定在一起。SDL_Thread *
,那么没有办法查询当前线程的句柄。尽管std::thread
也没有提供此功能,但由于接口更丰富,因此更有意义使用。std::thread
没有内置的取消函数。通常,您不希望在没有任何清理的情况下杀死线程,但值得一提。