Linux 两个进程使用的共享库
有人问我这个问题: 两个进程P1和P2使用共享库(UNIX系统)。 共享库有一个全局变量G1,以及一个getval()和setval()函数,用于获取和设置G1的值 以下是事件的顺序:Linux 两个进程使用的共享库,linux,process,shared-libraries,Linux,Process,Shared Libraries,有人问我这个问题: 两个进程P1和P2使用共享库(UNIX系统)。 共享库有一个全局变量G1,以及一个getval()和setval()函数,用于获取和设置G1的值 以下是事件的顺序: P1:Calls setval(10) P1:Goes to sleep P2: Calls setval(20) P2:Goes to sleep P1:awake from sleep P1: Calls val=getval( ) 现在val的值是多少?哪一个P1接收?是10点还是20点 你的答案是什么
P1:Calls setval(10) P1:Goes to sleep P2: Calls setval(20) P2:Goes to sleep P1:awake from sleep P1: Calls val=getval( )
现在val的值是多少?哪一个P1接收?是10点还是20点
你的答案是什么?请解释一下。
选择包括:
P1和P2不合作,是独立的过程val=10。事实上,每个进程都有自己的地址空间(不是它的“它的”是“它的”)。图书馆本身没有数据空间