您的位置:首页 > 其它

链接-装载-库,读书笔记

2016-07-29 20:27 204 查看
线程可以访进程内存里的所有数据,甚至包括其他线程的堆栈(如果它知道线程的堆栈地址,很少发生),但实际运用中线程也有自己的私有存储空间:

1,栈(尽管并非完全无法被其他线程访问,但一般情况下仍然可以被认为是私有的数据)

2,线程局部存储解(thread local storage)。线程局部存储是某些os为线程单独提供的私有空间,但通常只具有很有限的容量。

3,register(包括pc寄存器),寄存器是执行流的级别数据,为线程私有。

=

从c程序员的绝度来看,数据在线程之间是否私有如下:

线程私有      线程之间共享(进程所有)

局部变量      全局变量

函数的参数      堆上的数据

TLS数据       函数里的静态

          程序代码,任何线程都有权利读取并执行任何代码

          打开的文件,A线程打开的文件可以由B线程读写

========

线程调度总,线程通常拥有知道三种状态,分别是:

运行:线程正在执行

就绪:此时线程可以立即执行,但是cpu以及被占用

等待:此时线程等在某一事件发生,无法执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: