线程本地存储器--读《windows核心编程》第21章有感
来源:互联网 发布:软件设计师2016上半年 编辑:程序博客网 时间:2024/05/21 23:05
线程本地存储器:
用来储存线程独立的信息。主要给 DLL 使用,因为 DLL 不能确定调用其函数的线程多少(EXE 的编写者肯定知道这一点),在需要执行和线程相关的任务时,有可能需要为多个线程分别保存独立的状态和数据。
最简单的,Win32 API SetLastError / GetLastError 的实现,大部分 Win32 API 调用 SetLastError 设置有关的错误信息,调用者可在 API 返回后通过 GetLastError 取回。试想,如果在 API 调用 SetLastError 并返回之前,另一线程中执行的 API 恰好在此时调用了 SetLastError ,就会导致调用者取回的错误信息不正确。显然,SertLastError 设置的值应该保存在一个线程独立的变量里,然而 Win32 DLL 并不知道具体的线程数目,预先为每个线程分配一个变量是不可能的(并不绝对,TLS 也是可以自己实现的,但是较复杂),只能依赖于 TLS 。
- 线程本地存储器--读《windows核心编程》第21章有感
- Windows编程那些事----线程本地存储器
- 线程本地存储器——Windows核心编程学习手札之二十一
- 《Windows核心编程》第6章 线程基础
- Windows核心编程——第6章 线程基础
- Windows核心编程——第7章 线程调度
- Windows核心编程 第6章线程基础
- windows核心编程读书摘抄之第6章 线程
- 阅读windows核心编程有感
- Windows核心编程有感-进程
- Windows Programming系列 线程本地存储器
- windows核心编程--线程
- windows 核心编程 线程
- windows核心编程--线程
- windows核心编程--线程
- Windows核心编程--线程
- Windows核心编程学习笔记 第二部分 完成编程任务 第6章 线程的基本知识
- windows 核心编程-读后总结 -第六章 线程基础
- C语言中最大值
- 用artifactory搭建maven2内部服务器
- 解决 Debian 升级后小键盘失效
- 网页跳转方法大集合
- shell中$@和$*区别
- 线程本地存储器--读《windows核心编程》第21章有感
- .net 生成超大窗体
- 公司培训有感
- MySQL语句大全
- 好用的live writer代码插件
- 基于S3C2440的bootloader移植详解
- lwuit一些技巧
- 无符号数处理
- JSP页面跳转大全