Android Bionic TLS简单介绍

What's TLS?

      TLS即Thread Local Storage。支持TLS的线程有三种类型的变量:线程局部变量,线程本地变量(TLS)和全局变量。TLS的不同之处:所有线程以同一个变量名或索引 访问TLS变量,但不同线程的TLS变量存储在不同的内存区域。简而言之,就是同一个名字,不同的存储。

      例如,有TLS变量errno,每个线程执行相同的语句“errno=i;”,errno在不同线程下有了不同的值。注意,这并不是在每一个线程中都声明一个名为errno的变量。这正是TLS的便利之处

 

How to enable TLS?

If you would like to enable it, kernel config will now get new entry:
    CONFIG_HAS_TLS_REG=y

Rebuild the kernel and apply patch: 'android-enable-tls.patch'

The attached patch contains the experimental changes to enable TLS in userspace (Android bionic and frameworks/base).

 

 

你可能感兴趣的:(thread,android,存储,patch)