TSD能被其他线程访问?
APUE上的话
“线程没有办法阻止其它线程访问它的数据,线程私有数据也不例外” 怎么理解啊?那有啥办法访问其他线程的私有数据啊?
进程中的所有线程都可以访问进程的整个地址空间,除非使用寄存器(一个线程真正拥有的唯一私有存储是处理器寄存器),线程没有办法阻止其它线程访问它的数据,线程私有数据也不例外,但是管理线程私有数据的函数可以提高线程间的数据独立性。
happy 2014 new year to everyone
------解决方案--------------------
没有办法阻止。我的理解是,使用TSD方式只是保证一键多值而已。通过pthread_getxxx方式不同的线程获取的值不一样。其实TSD的实现的时候,数据存储位置还是在进程空间内,同样可以通过地址访问到。