线程局部存储(Thread Local Storage,TLS)

原创 2012年03月29日 11:32:34

线程局部存储(Thread Local Storage,TLS)用来将数据与一个正在执行的指定线程关联起来。

进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有线程都生效。这是一个优点也是一个缺点。说它是优点,线程的数据交换变得非常快捷。说它是缺点,一个线程死掉了,其它线程也性命不保; 多个线程访问共享数据,需要昂贵的同步开销,也容易造成同步相关的BUG。

如果需要在一个线程内部的各个函数调用都能访问、但其它线程不能访问的变量(被称为static memory local to a thread 线程局部静态变量),就需要新的机制来实现。这就是TLS。

功能:它主要是为了避免多个线程同时访存同一全局变量或者静态变量时所导致的冲突,尤其是多个线程同时需要修改这一变量时。为了解决这个问题,我们可以通过TLS机制,为每一个使用该全局变量的线程都提供一个变量值的副本,每一个线程均可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。而从全局变量的角度上来看,就好像一个全局变量被克隆成了多份副本,而每一份副本都可以被一个线程独立地改变。

线程的局部存储tls (thread local storage)

线程局部存储tls(thread local storage) 线程的局部存储就是让一个全局的变量或者静态变量在每一个线程都有自己的立足之地. 动态TLS 首先调用API函数,获取当前进程可用的TLS...
  • hulele2009
  • hulele2009
  • 2013年10月15日 16:36
  • 1701

线程局部存储(TLS)

线程局部存储,Part 1:概述 线程局部存储,Part 2:显式TLS 线程局部存储,Part 3:编译器和链接器对隐式TLS的支持 线程局部存储,Part 4:访问__declspec(th...
  • whatday
  • whatday
  • 2013年04月10日 10:57
  • 6195

C++线程局部存储(TLS)

TLS
  • tony2278
  • tony2278
  • 2016年09月26日 15:47
  • 399

线程局部存储(TLS)

转:http://blog.csdn.net/whatday/article/details/8781640 线程局部存储,Part 1:概述 线程局部存储,Part 2:显式TLS ...
  • zhangmiaoping23
  • zhangmiaoping23
  • 2015年03月17日 17:54
  • 496

线程局部存储Thread Local Storage(TLS)

  在线程的学习中我们知道每个线程除了共享进程的资源外还拥有各自的私有资源:   一个寄存器组(或者说是线程上下文);一个专属的堆栈;一个专属的消息队列;一个专属的Thread Local Stora...
  • lqk1985
  • lqk1985
  • 2008年09月09日 16:49
  • 1810

每天进步一点点——Linux中的线程局部存储(二)

Linux C/C++多线程编程中请善用__thread
  • cywosp
  • cywosp
  • 2014年05月24日 22:51
  • 6650

线程局部存储(Thread Local Storage,TLS)

线程局部存储(Thread Local Storage,TLS)用来将数据与一个正在执行的指定线程关联起来。 进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变...
  • chongzi865458
  • chongzi865458
  • 2012年03月29日 11:32
  • 431

线程局部存储(TLS)

每个线程是没有自己单独的空间的,它们的所有的参数,变量都会放在该进程的空间里。为了实现局部变量人们引入了tls 用途:动态TLS和静态TLS这两项技术在创建DLL的时候更加有用,这是因为DLL通常并不...
  • qq_38204481
  • qq_38204481
  • 2018年01月24日 13:27
  • 15

TLS(thread - local storage)线程局部存储

线程局部存储是一个使用很方便的存储线程局部数据的系统。利用TLS机制可以为进程中所有的线程关联若干数据,各个线程通过由TLS分配的全部索引来访问与自己关联的数据。这样,每个线程都可以有线程局部的静态存...
  • wl_soft50
  • wl_soft50
  • 2011年05月28日 10:18
  • 1233

线程局部存储TLS(thread local storage)

TLS技术:      同一全局变量或者静态变量每个线程访问的是同一变量,多个线程同时访存同一全局变量或者静态变量时会导致冲突,尤其是多个线程同时需要修改这一变量时。 通过TLS机制,为每一个使用该全...
  • qq_38363396
  • qq_38363396
  • 2017年10月19日 22:42
  • 34
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:线程局部存储(Thread Local Storage,TLS)
举报原因:
原因补充:

(最多只允许输入30个字)