最近在看 Envoy 的源代码,一些相关的博客有提到 Envoy 里面用了一个线程本地储存( TLS )的机制,这个之前也没接触过,看网上一些资料也还是没搞懂,所以想问下各位 dalao 这个机制主要是用来解决一些什么问题的?
1
Mirana 2019-01-06 22:44:41 +08:00
__thread int var;
这种类型的变量,在每个线程里是独立的,互不影响 在一些场景下,比如每个线程都能自己执行,不依赖其他线程的状态的情况下,把一些频繁用到的变量改成 tls 的可以增加程序的并发度 |
2
owenliang 2019-01-07 09:18:27 +08:00 via Android
就是线程各自数据独立,写程序的时候只需要加个关键字,不需要自己再去写代码给每个线程 new 独立的内存了。
|