一、私有

  1. 栈(局部变量,函数的参数)。
  2. 线程局部存储(Thread Local Storage,TLS),有限的容量。
  3. 寄存器 (执行流的基本数据)。

TLS 的用法很简单,如果要定义一个全局变量为 TLS 类型,只需在它定义前加上相应的关键字即可。

_thread int number;            // gcc
_declspec(thread) int number;  // msvc

一旦一个全局变量被定义程 TLS 类型的,那么每个线程都会拥有这个变量的一个副本,任何线程对该变量的修改都不会影响其他线程中该变量的副本。

当使用 _declspec(thread) int number 定义一个线程私有变量时,编译器会把这些变量放到 PE 文件的“.tls”段中。当系统启动一个新的线程时,它会从进程的堆中分配一块足够大小的空间,然后把“.tls”段中的内容复制到这块空间中,于是每个线程都有自己独立的一个“.tls"副本。所以对于同一个变量,它们在不同线程中的地址都是不一样的。

二、线程共享(进程所有)

  1. 全局变量。
  2. 堆上的数据。
  3. 函数里的静态变量。
  4. 程序代码,任何线程都有权利读取并执行任何代码。
  5. 打开文件,A 线程打开的文件可以由 B 线程读写。

(SAW:Game Over!)

OS / 线程哪些内容是私有的和共享的?相关推荐

  1. 如何在MySQL中查询OS线程id(LWP)?

    如何在MySQL中查询OS线程id(LWP)? [root@LHRDB ~]# ps -Lf 16833 UID        PID  PPID   LWP  C NLWP STIME TTY   ...

  2. 使用Samba服务器构建私有和公共共享目录

      使用Samba服务器构建私有和公共共享目录   实验背景:       小诺公司使用RHEL4系统构建了Linux服务器,并在该服务器上默认安装了Samba服务器及相关软件包作为该公司的文件服务器 ...

  3. OS / 线程的 3 种实现方式(内核级,用户级 和 混合型)

    1 .线程的 3 种实现方式 在传统的操作系统中,拥有资源和独立调度的基本单位都是进程.在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位.在同一进程中,线程的切换不会引起进程 ...

  4. A Byte of Python 笔记(12)python 标准库:sys、os,更多内容

    第14章 python 标准库 Python标准库是随Python附带安装的,它包含大量极其有用的模块. sys 模块 sys 模块包含系统对应的功能.如 sys.argv 列表包含命令行参数. # ...

  5. 从Java到JVM到OS线程睡眠

    前言 Java 中有时需要将线程进入睡眠状态,这时一般我们就会通过Thread.sleep使线程进入睡眠状态,接下去就看看执行该语句在 JVM 中做了什么. 简单例子 以下是一个简单的例子,使主线程睡 ...

  6. RT-Thread OS线程间通信之邮箱

    本文参考引用于RT-Thread 官方文档中心 在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取,根据读取到的全局变量值执 ...

  7. python os读取文件内容_python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  8. 成都鸿蒙脱模剂厂家,现场体验荣耀智慧屏与鸿蒙OS,荣耀Life成都店与您共享锐科技...

    8月24日下午 ,荣耀Life成都店举办荣耀锐科技品鉴会,同到场的媒体和花粉朋友们一同探讨荣耀锐科技的科技创新.这场别开生面的交流会上,华为运动健康实验室专家和IoT产品线专家不仅介绍了荣耀可穿戴产品 ...

  9. 后端知识点链接(二):操作系统、Linux

    操作系统 2.5w字 + 36 张图爆肝操作系统面试题,太牛逼了! 32位系统和64位系统有什么区别?C++中32位和64位有什么区别?(同花顺提前批) 计算机基础----32位操作系统和64位操作系 ...

最新文章

  1. spark 在启动的时候出现JAVA_HOME not set
  2. 基础命令之cd,mkdir,cp,ls
  3. 项目中使用CLR编程
  4. [WPF自定义控件] 开始一个自定义控件库项目
  5. 文件服务器 ip,共享文件服务器的ip地址
  6. 自考本科计算机类专业查询,自考本科学位如何查询
  7. XML 处理利器 : XStream
  8. android checkbox点击,android的CheckBox点击全选信息反馈不正常,该如何解决
  9. android仿ios录音动画,仿IOS录音机
  10. Python基础之爬取豆瓣图书信息
  11. Python绘图 \ 数据可视化
  12. eclipse集成阿里代码规范工具p3c
  13. SASS的安装及简单操作
  14. HTML流式布局是什么,什么是流式布局?流式布局是什么意思?
  15. 检索策略(抓取策略)
  16. activeMQ启动失败61616port被占用问题
  17. SharedPreferences in credential encrypted storage are not available until after user is unlocked
  18. 去中心化的联邦图神经网络
  19. 联想笔记本windows10设备管理器找不到蓝牙
  20. 如何合理选择 PLC

热门文章

  1. angular之表单
  2. jdk安装后提示错误
  3. Longest Substring Without Repeating Characters
  4. HBuilderX 自述文件
  5. Scala集合:ListBuffer的头head和尾tail
  6. Python Django单表增删改操作
  7. 【视频】vue指令v-on绑定事件
  8. spring boot模板引擎thymleaf用法详解
  9. 事务的隔离级别演示-避免脏读,演示不可重复读发生
  10. Java监听器Listener入门示例