我想使用__thread存储类将一些变量定义为特定于线程的。 但是三个问题让我犹豫不决:
回答您的具体问题:
在实现C / POSIX之外(例如errno
等),在我看来,线程局部存储类实际上并不是非常有用。 它几乎是一个避免以上下文指针或类似forms干净地绕过必要状态的拐杖。 您可能认为绕过像qsort
这样不接受上下文指针的破坏接口可能很有用,但遗憾的是,无法保证qsort
将在调用qsort
的同一线程中调用比较函数。 它可能会破坏作业并在多个线程中运行它。 大多数其他接口也是如此,这种解决方案是可行的。
你可能想读这个:
1)MSVC不支持C99。 GCC和其他编译器都尝试GCC兼容性。
编辑此处提供了对__thread
的编译器支持的细分:
2)只有C ++支持初始化程序,它必须是常量。
3)非multithreading应用程序是单线程应用程序。
以上就是c/c++开发分享在c99中使用__thread相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/544916.html