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

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

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

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

=

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

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

局部变量      全局变量

函数的参数      堆上的数据

TLS数据       函数里的静态

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

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

========

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

运行:线程正在执行

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

等待:此时线程等在某一事件发生,无法执行。

相关文章:

  • 2021-06-13
  • 2021-10-23
  • 2021-10-18
  • 2021-10-14
  • 2022-03-05
  • 2022-12-23
  • 2021-05-25
  • 2022-12-23
猜你喜欢
  • 2022-02-02
  • 2022-12-23
  • 2021-07-08
  • 2021-10-26
  • 2021-12-14
  • 2021-08-02
  • 2021-09-25
相关资源
相似解决方案