读书人

一个与历程线程相关的C语言题目

发布时间: 2012-10-17 10:25:47 作者: rapoo

一个与进程,线程相关的C语言题目
大概是这样的:
有一个全局变量
int i = 0;
然后还有两个函数,一个是set,另一个是get:

C/C++ code
void set(int j){    i = j;}int get(){    return i;}


然后他的问题是:
1.进程A调用set(1)函数,进程B调用get函数,会返回多少?
2.进程A调用get函数,会返回多少?
3.进程A创建了一个线程A1,B调用set(2),A1调用get函数,会返回多少?

具体的问题我记不太清楚了,大概的问的就是进程与进程之间,进程与线程的它们是否会共享全局变量的问题,非计算机专业,求指导。

[解决办法]
全局变量并不能在进程间共享,除非是在dll里
[解决办法]
每个进程有自己的独立的地址空间,而一个进程中的所有信息对该进程所有的线程都是共享的包括进程的程序文本,程序的全局内存和堆内存、栈以及文件描述符..

读书人网 >C语言

热点推荐