当前位置: 技术问答>linux和unix
请问,多个进程如何共享一个数据结构?
来源: 互联网 发布时间:2016-03-25
本文导语: 在一个操作系统实验中,我想在内核源码中加入一个自定义的链表,然后编写自定义的 系统调用使用该链表,最后编译内核代码,运行目标系统,在目标系统中编写几个进程分 别对该链表操作。如何才能实现共用...
在一个操作系统实验中,我想在内核源码中加入一个自定义的链表,然后编写自定义的
系统调用使用该链表,最后编译内核代码,运行目标系统,在目标系统中编写几个进程分
别对该链表操作。如何才能实现共用次链表呢?
比如在目标系统中有一个create进程构造该链表,display进程显示链表的每个节点。
首先运行create进程,创建链表,create进程运行结束后,再运行display进程,那么
如何才能使链表仍然可以被display访问呢?(如果把链表定义在create中,create结束
后链表也就跟着消亡了)
也就是说如何才能在多个进程中共享一个数据结构?
系统调用使用该链表,最后编译内核代码,运行目标系统,在目标系统中编写几个进程分
别对该链表操作。如何才能实现共用次链表呢?
比如在目标系统中有一个create进程构造该链表,display进程显示链表的每个节点。
首先运行create进程,创建链表,create进程运行结束后,再运行display进程,那么
如何才能使链表仍然可以被display访问呢?(如果把链表定义在create中,create结束
后链表也就跟着消亡了)
也就是说如何才能在多个进程中共享一个数据结构?
|
没太看懂你的东西。
但是要是想在多线程中共享一个变量或结构的话,只要把这个变量或结构在mian中定义就可以了,然后再分别创建线程。
我说的可能和你想知道的由出入,仅供参考。
但是要是想在多线程中共享一个变量或结构的话,只要把这个变量或结构在mian中定义就可以了,然后再分别创建线程。
我说的可能和你想知道的由出入,仅供参考。
|
补充:不知为什么create后链表就消亡了,要是想create后链表不消亡,那么要把他定义成特殊的数据类型。而不是一个create用的临时变量。还有要是想要display访问那个链表,只要create返回指向那个结构的指针就可以了。
以上仅供参考。o(∩_∩)o...哈哈
以上仅供参考。o(∩_∩)o...哈哈
|
多进程可以用IPC,参看一下相关资料!
多线程的放可以用
还是反哪个变量或结构放在main外定义!当然在内也可以,不过在外定义方便,建立线程时不用传哪个参数!
多线程的放可以用
还是反哪个变量或结构放在main外定义!当然在内也可以,不过在外定义方便,建立线程时不用传哪个参数!
|
共享内存可以实现你的需求吧