码迷,mamicode.com
首页 > 编程语言 > 详细

进程中多线程共享变量

时间:2015-07-12 19:00:24      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

本文摘自《深入理解计算机系统》 并发编程章节。


对于多线程编程最棘手的部分为共享变量的并发访问,那么就需要了解在编程中那些为共享变量。这就涉及到线程存储模型。


每个线程都有它自己的线程上下文.线程上下文包括:

线程ID,栈,栈指针,程序计数器,条件码和通用寄存器的值。

多个线程在进程中共享如下部分:

虚拟地址空间,只读代码块,读、写数据,堆,打开的文件集合。


寄存器在线程中不共享,虚拟存储器在线程中共享。


在编写多线程C语言程序时:

1、全局变量。  全局变量在运行时,任何线程都可以引用全局变量。

2、本地局部变量。每一个线程的栈都包含自己独立的本地局部变量。

3、本地静态变量。每一个线程都可以共享本地静态变量。

版权声明:本文为博主原创文章,未经博主允许不得转载。

进程中多线程共享变量

标签:

原文地址:http://blog.csdn.net/sunning9001/article/details/46851797

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!