链接-装载-库,读书笔记
2016-07-29 20:27
204 查看
线程可以访进程内存里的所有数据,甚至包括其他线程的堆栈(如果它知道线程的堆栈地址,很少发生),但实际运用中线程也有自己的私有存储空间:
1,栈(尽管并非完全无法被其他线程访问,但一般情况下仍然可以被认为是私有的数据)
2,线程局部存储解(thread local storage)。线程局部存储是某些os为线程单独提供的私有空间,但通常只具有很有限的容量。
3,register(包括pc寄存器),寄存器是执行流的级别数据,为线程私有。
=
从c程序员的绝度来看,数据在线程之间是否私有如下:
线程私有 线程之间共享(进程所有)
局部变量 全局变量
函数的参数 堆上的数据
TLS数据 函数里的静态
程序代码,任何线程都有权利读取并执行任何代码
打开的文件,A线程打开的文件可以由B线程读写
========
线程调度总,线程通常拥有知道三种状态,分别是:
运行:线程正在执行
就绪:此时线程可以立即执行,但是cpu以及被占用
等待:此时线程等在某一事件发生,无法执行。
1,栈(尽管并非完全无法被其他线程访问,但一般情况下仍然可以被认为是私有的数据)
2,线程局部存储解(thread local storage)。线程局部存储是某些os为线程单独提供的私有空间,但通常只具有很有限的容量。
3,register(包括pc寄存器),寄存器是执行流的级别数据,为线程私有。
=
从c程序员的绝度来看,数据在线程之间是否私有如下:
线程私有 线程之间共享(进程所有)
局部变量 全局变量
函数的参数 堆上的数据
TLS数据 函数里的静态
程序代码,任何线程都有权利读取并执行任何代码
打开的文件,A线程打开的文件可以由B线程读写
========
线程调度总,线程通常拥有知道三种状态,分别是:
运行:线程正在执行
就绪:此时线程可以立即执行,但是cpu以及被占用
等待:此时线程等在某一事件发生,无法执行。
相关文章推荐
- Java IO流分析整理
- poj 3279 <枚举+判断破解----点亮灯泡>
- linphone-BootReceiver.java文件分析
- MacOSX&iOS操作系统之OSX和iOS架构
- Lucas模板
- 【手把手教程】——Zookeeper注册中心的安装
- Spring:源码解读(IOC容器的高级特性)
- 习题3-6 纵横字谜的答案 UVa232
- 20145202马超 《Java程序设计》第五周学习总结
- 逆元模板
- ecshop二次开发--单点登录
- 栈帧初识
- java学习日记一
- OJ中的语言选项里G++ 与 C++的区别
- 配置nginx使之支持thinkphp
- 扩张欧几里得模板
- Codeforces626E Simple Skewness(二分)
- Qt完美实现切图
- 线程池
- tjut 4661