TLS(线程本地存储)在应用程序里有用吗?
时间:2011-12-21
来源:互联网
我知道:在写DLL时,如果在导出函数里使用了全局(或者静态,差不多)变量且有对该变量的写操作,同时又想支持多线程调用时就要用到TLS(线程本地存储)。(当然,这种情况是应该尽量避免的,将这样的变量定义告诉调用者,给函数增加一个参数,接收此种变量的地址就可以了;但也可能DLL的作者想隐藏实现的某些细节)。
那么,除此之外,TLS在应用程序里有用吗?
欢迎大家讨论
那么,除此之外,TLS在应用程序里有用吗?
欢迎大家讨论
作者: gg606 发布时间: 2011-12-21
常用的同步机制在多线程开发中会降低性能,某些情况下在用时要求严格的程序中可使用TLS代替同步机制,从而提高程序运行速度。具体可参考http://www.codeproject.com/KB/solution-center/Thread-Local-Storage.aspx
作者: fight_in_dl 发布时间: 2011-12-21
尽量少用TLS,多用局部变量
作者: sky101010ws 发布时间: 2011-12-21
多用简单的东西,少用复杂的东西
提高程序的可读性和可维护性
现在的编程不一定需要很高深的技术,主要还是团队的协作
提高程序的可读性和可维护性
现在的编程不一定需要很高深的技术,主要还是团队的协作
作者: sky101010ws 发布时间: 2011-12-21
我就在维护原来的dll代码时用过。好像TLS这个设计初衷就是使C运行库能够基本不改代码就支持多线程。
作者: buyong 发布时间: 2011-12-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28