共享内存下可以有哪些不同类型的记忆?

时间:2012-10-14 15:36:38

标签: c multithreading operating-system

例如,在多线程程序中,Global,volatile,extern变量可以归入临界区,因为它们可以同时被多个线程访问。 shmget()也分配共享内存。 我想知道所有其他内存类型在用户空间和内核空间中都是关键部分。

3 个答案:

答案 0 :(得分:0)

共享内存通常包含在关键部分中。共享内存的原因可以由多个线程一次访问。为了确保一次仅由一个线程访问某些共享内存,使用关键部分。

不确定共享内存是否进一步分类。

答案 1 :(得分:0)

答案 2 :(得分:0)

当你谈论不同的概念时,共享内存可能会有所不同,即两个使用公共数据的进程,例如队列,你需要注意"注意"修改/添加/删除时的关键部分。 至于线程,除了堆栈和代码段之外,所有内容都是共享的,因此理论上主进程所达到的每条数据都是这些线程之间的共享内存。